迷失网络

如果你误读成“迷失公园”或“迷失侏罗纪”,那你可能真的迷失网络了。
随笔 - 88, 评论 - 1932, 引用 - 106

导航

关于

lostinet@lostinet.com这个油箱不能用了。因为空间没了,lostinet.com指向为127.0.0.1 。。。

标签

每月存档

最新留言

广告

 
你的程序支持 IIS6 - Web Garden 吗?
 
很就没有更新BLOG了呵呵。 刚过来深圳,时间都是乱来的~~~
今天帮客户搞定一个部署上的问题,花了我半天的时间。。555。
 
后来才发现原来是IIS6 Web Garden的问题。
 
IIS6 Web Garden 指的是一个应用程序可以成多个进程(w3wp.exe)来执行,一次请求使用其中的一个。用这个的主要目的是提高程序的可用性。当其中一个进程发生错误,那么也不会影响其他进程。发生错误的进程可以根据规则关闭,而其他的进程则可以继续工作。
 
可惜不是每个应用程序都支持Web Garden的。 例如我做的那个就不是。
 
一般来说 , 不支持 Web Garden 的原因是各应用程序的内存状态是不同的。虽然是访问同一个网站 , 当访问第一个进程时,进程的内存如果纪录了某些重要的信息,而当访问第二个进程的时,却无法再得到那些信息时,那么程序就不一定能运行正常,或者会发生错误。
 
所以,一般使用 InProc HttpSessionState / HttpApplicationState / 静态变量来储存关键信息 的程序是不支持 Web Garden的。另外平时说Session信息丢失,也和这个有关。一般很多程序都使用Cache来储存临时数据,但如果某些被修改或删除的数据没有在该进程的Cache中得到更新,那么也会很容易导致程序出错。

如果你的程序用上面说的方法,并且在Windows2003/IIS6中发生奇怪的错误,那么请检查一下Web Garden的设置。


如果你希望应用程序支持Web Garden,甚至是支持集群,那么最简单的办法就是,尽量用Cookie来纪录登陆信息,以及所有的数据获取的动作都是从数据库中读取。例如Duwamish就是这种类型的程序。
 
如果一个应用程序连Web Garden都不支持,那么就更难支持集群了。

打印 | 张贴于 2005-02-02 21:20:00 | Tag:AspNet

留言反馈

#关于Web Garden与Web Farms 编辑
Web Garden与Web Farms
2007-07-30 17:45:00 | [匿名用户:桦林]
#回复: 你的程序支持 IIS6 - Web Garden 吗? 编辑
能否发一封到我邮箱?谢谢
2006-12-27 14:08:00 | [匿名用户:我考百试通]
#re: 你的程序支持 IIS6 - Web Garden 吗? 编辑
Web Garden

设置成单线程

session照丢不误。 哭死啊。
2005-08-03 11:19:00 | [匿名用户:test]
#re:你的程序支持 IIS6 - Web Garden 吗? 编辑
你的程序支持 IIS6 - Web Garden 吗?ooeess
2005-06-08 16:31:00 | [匿名用户:颗粒计数器]
#re:你的程序支持 IIS6 - Web Garden 吗? 编辑
^_~,pretty good!csharpsseeoo
2005-05-13 16:15:00 | [匿名用户:搅拌机]
#re:你的程序支持 IIS6 - Web Garden 吗? 编辑
^_~,pretty good!18showsseeoo
2005-04-26 12:42:00 | [匿名用户:元件测试仪]
#re:你的程序支持 IIS6 - Web Garden 吗? 编辑
^_^,Pretty Good!
2005-04-15 19:24:00 | [匿名用户:粘度计]
#re:你的程序支持 IIS6 - Web Garden 吗? 编辑
^_^,Pretty Good!
2005-04-10 19:44:00 | [匿名用户:超声波液位计]
#re: 你的程序支持 IIS6 - Web Garden 吗? 编辑
to Teddy
用Session能支持负载均衡,但是不能按照单台机器那样处理。
2005-02-20 23:28:00 | [匿名用户:erico]
#re: 你的程序支持 IIS6 - Web Garden 吗? 编辑
2005-02-06 00:43:00 | [匿名用户:p2p]
#re: 你的程序支持 IIS6 - Web Garden 吗? 编辑
楼上的说的是web farm,不是web garden..
2005-02-05 22:47:00 | [匿名用户:Wang Ting]
#re: 你的程序支持 IIS6 - Web Garden 吗? 编辑
将Session变量保存到一个单独的服务器,同时修改Garden中机器的MachinKey,将他设置成一个固定的值,访问不同进程的就可以获得Session了吧。
2005-02-04 09:07:00 | [匿名用户:goodbaby]
#re: 你的程序支持 IIS6 - Web Garden 吗? 编辑
web garden必须使用out of process session:asp.net state server或sql server。web garden的一个好处是能缓解单进程2GB user mode virual address space的限制,但是也可能增加dead lock的几率……
2005-02-03 23:29:00 | [匿名用户:Wang Ting]
#re: 你的程序支持 IIS6 - Web Garden 吗? 编辑
用Session就不能支持集群,不会吧~~
2005-02-03 17:49:00 | [匿名用户:Teddy]
#re: 你的程序支持 IIS6 - Web Garden 吗? 编辑
在锦绣江山上四处腐败啊:)
2005-02-03 11:51:00 | [匿名用户:ceocio]
#re: 你的程序支持 IIS6 - Web Garden 吗? 编辑
小戴:你到深圳了,保持联系人
2005-02-03 10:10:00 | [匿名用户:张民]
#re: 你的程序支持 IIS6 - Web Garden 吗? 编辑
Session可以放到ASP_STATE进程中去
2005-02-03 09:54:00 | [匿名用户:雨中漫步]
#re: 你的程序支持 IIS6 - Web Garden 吗? 编辑
duwamish不是也使用了session吗?
2005-02-03 09:20:00 | [匿名用户:jerry]
#re: 你的程序支持 IIS6 - Web Garden 吗? 编辑
也就是说,用了session的程序是不能设置多个工作进程数?
2005-02-03 08:53:00 | [匿名用户:dali]
#re: 你的程序支持 IIS6 - Web Garden 吗? 编辑
建立独立进程会消耗更多的服务器内存和CPU。

这实际上有点象iis5中的高站点保护状态,但不同是iis5是启动单独的dllhost.exe,还会单独启动附加进程。
2005-02-02 23:44:00 | [匿名用户:ceocio]
#你的程序支持 IIS6 - Web Garden 吗? 编辑
Ping Back来自:blog.csdn.net
2005-02-02 23:19:00 | [匿名用户:shanyou]
对不起,目前本随笔不允许发表新评论.

Powered by: Joycode.MVC引擎 0.5.1.8