首页 > 解决方案 > 为 IIS 应用程序池使用多个工作进程时的后果

问题描述

我用谷歌搜索并在许多文章中看到说,当使用多个工作进程时,会出现与 asp.net 的会话处理程序相关的小问题。我是网络编程的新手,但我不明白......有人可以用简单易懂的方式解释它吗?

我在 IIS 上部署了一个 asp.net mvc 应用程序。为了使用它,需要用户登录,并且一旦登录,有些地方需要用户重新登录(是的,我知道,使用SSO不需要重新登录,但尚未实现) . 所以考虑到这一点,如果我为应用程序池设置了多个工作进程,会发生什么?它会停止工作吗?这是大多数文章在谈论会话处理程序时所指的内容?

标签: iisiis-8application-pooliis-8.5worker-process

解决方案


您可能不想打开 WebGardening(多工作进程),通常它弊大于利,尤其是对于 .NET 应用程序。默认情况下,.NET 中的 Session 存储“InProc”,意思是 In Process。如果您正在设置 WebGarden(一个盒子上的多个 Proc)或 WebFarm(多个服务器),那么您需要一些方法来处理 Session。对于 WebFarm,使用的一种技术称为粘性会话,其中执行路由的设备(负载均衡器)每次都会将同一用户路由到同一服务器。使用 WebGardens,没有“坚持会话”。处理此问题的其他技术是通过将会话状态存储在进程外,有很多方法可以做到这一点。旧文章,但给出了很好的处理: https ://www.codeproject.com/Articles/32545/Exploring-Session-in-ASP-Net


推荐阅读