<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="IIS设置多个Web园导致HttpContext.Current.Application、静态变量不能取值的问题" id="card1">
<p> 游客</p><p>
标题:IIS设置多个Web园导致HttpContext.Current.Application、静态变量不能取值的问题<br/>
正文:<br/>
问题：设置多个Web园会出现多个进程并发，达到了负载均衡和增加数据库连接数的目的，但同时也带来了很多的问题，其中最多的就是Application、Session丢失的问题，虽然可以通过建立状态服务器(ASP.NET 状态服务)的方式解决Session丢失的问题，但Application和静态变量的问题始终得不到解决，难道必须要建立分布式架构才行？多个进程难道不能共享一个主进程ID？盼解答！回答：mazhou Microsoft (MSFT)我前几天刚刚在这里讨论过类似的问题，您应该尽量在 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<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=553&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=553&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=553&amp;Page=1">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=553">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=553">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>