问题:设置多个Web园会出现多个进程并发,达到了负载均衡和增加数据库连接数的目的,但同时也带来了很多的问题,
其中最多的就是Application、Session丢失的问题,虽然可以通过建立状态服务器(ASP.NET 状态服务)的方式解决Session丢失的问题,
但Application和静态变量的问题始终得不到解决,难道必须要建立分布式架构才行?多个进程难道不能共享一个主进程ID?盼解答!
我前几天刚刚在这里讨论过类似的问题,您应该尽量在 Web 上少用静态性的东西,如 static 和 Application。
当 Web Farm 启用后,没有办法保证这些静态变量仍然静态。这个从理论上讲是 By Design 的 (因为 Web Farm 会启用多个 IIS 的 w3wp.exe,而每个 exe 都有自己的 AppDomain,那么 Application 就当然不唯一了。)
您可以试试看寻找第三方解决方案,比如找个负载均衡的硬件或其他方法。但我建议还是把 Application 里面共享的东西拿出来放在其他地方比较好。
来源:http://social.msdn.microsoft.com/Forums/zh-CN/visualcshartzhchs/thread/d53c7d44-75ce-460d-98b1-ef499e9b10e5