我已经搜索了很多文章,并说使用多个工作进程时,有一个与asp.net的会话处理程序有关的小问题。我是Web编程的新手,但我听不懂...有人可以用一种容易理解的方式来解释它吗?
我已经在IIS上部署了一个asp.net mvc应用程序。为了使用它,用户必须先登录,一旦登录,在某些地方还需要用户再次登录(是的,我知道,使用SSO无需再次登录,但尚未实现) 。因此,考虑到这一点,如果我为应用程序池设置了多个工作进程,会发生什么?它会停止工作吗?这是大多数文章在谈论会话处理程序时指的是什么?
答案 0 :(得分:0)
您可能不想打开WebGardening(多个工作进程),通常它带来的弊大于利,特别是对于.NET应用程序。默认情况下,.NET中的会话存储为“ InProc”,表示处理中。如果要设置WebGarden(一个盒子上的多个进程)或WebFarm(多个服务器),则需要某种方式来处理会话。使用WebFarm,使用的一种技术称为“粘性会话”,其中进行路由的设备(负载平衡器)每次都会将同一用户路由到同一服务器。使用WebGardens,就没有“坚持会议”。处理此问题的其他技术是通过将会话状态存储为进程外来实现,对此有很多方法。旧文章,但给予了很好的待遇:https://www.codeproject.com/Articles/32545/Exploring-Session-in-ASP-Net