下沙论坛

 找回密码
 注册论坛(EC通行证)

QQ登录

QQ登录

下沙大学生网QQ群8(千人群)
群号:6490324 ,验证:下沙大学生网。
用手机发布本地信息严禁群发,各种宣传贴请发表在下沙信息版块有问必答,欢迎提问 提升会员等级,助你宣传
新会员必读 大学生的论坛下沙新生必读下沙币获得方法及使用
查看: 3711|回复: 4
打印 上一主题 下一主题

[转帖]你的程序支持 IIS6 - Web Garden 吗?

[复制链接]
  • TA的每日心情
    奋斗
    昨天 11:26
  • 签到天数: 2397 天

    [LV.Master]伴坛终老

    跳转到指定楼层
    1
    发表于 2005-4-12 13:44:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    你的程序支持 IIS6 - Web Garden 吗?
    ( f) l# O& a# Q! w
    % y! O% H: m( I  T很就没有更新BLOG了呵呵。 刚过来深圳,时间都是乱来的~~~0 @1 M7 u( V( p, [& w
    今天帮客户搞定一个部署上的问题,花了我半天的时间。。555。2 D5 L7 x- u8 L* o9 A2 q
    9 I% C- I; H  g: `7 x
    后来才发现原来是IIS6 Web Garden的问题。8 |0 S' E) W/ \# v

    - v8 Z3 \4 z9 ^IIS6 Web Garden 指的是一个应用程序可以成多个进程(w3wp.exe)来执行,一次请求使用其中的一个。用这个的主要目的是提高程序的可用性。当其中一个进程发生错误,那么也不会影响其他进程。发生错误的进程可以根据规则关闭,而其他的进程则可以继续工作。
    ; o# V" c) y+ P# f
    7 _4 F5 h% O1 m& H" I可惜不是每个应用程序都支持Web Garden的。 例如我做的那个就不是。4 p+ q# i2 C/ q* X
    ( t8 J1 H4 I! y% s5 i
    一般来说 , 不支持 Web Garden 的原因是各应用程序的内存状态是不同的。虽然是访问同一个网站 , 当访问第一个进程时,进程的内存如果纪录了某些重要的信息,而当访问第二个进程的时,却无法再得到那些信息时,那么程序就不一定能运行正常,或者会发生错误。
    : x" z; s2 Q9 q9 R 9 r1 W) t7 ~; |& D: X5 ?
    所以,一般使用 InProc HttpSessionState / HttpApplicationState / 静态变量来储存关键信息 的程序是不支持 Web Garden的。另外平时说Session信息丢失,也和这个有关。一般很多程序都使用Cache来储存临时数据,但如果某些被修改或删除的数据没有在该进程的Cache中得到更新,那么也会很容易导致程序出错。
    + D7 k, J: K! ~6 K0 c7 Y' L: ~! x7 `* O3 K! b% |) Q
    如果你的程序用上面说的方法,并且在Windows2003/IIS6中发生奇怪的错误,那么请检查一下Web Garden的设置。
    * Y* I0 Y/ R6 k0 e" N) t% P
    . ?1 g4 T2 u( ^+ J
    $ y/ `; S7 K6 b! X# V& d 8 P7 G* B# _, o2 Q

    ; a& P( Z3 H; H) O- W如果你希望应用程序支持Web Garden,甚至是支持集群,那么最简单的办法就是,尽量用Cookie来纪录登陆信息,以及所有的数据获取的动作都是从数据库中读取。例如Duwamish就是这种类型的程序。 8 e/ Y& T& }4 Y% y
      
    % p7 q+ P5 |( |5 Z! j8 o+ E如果一个应用程序连Web Garden都不支持,那么就更难支持集群了。
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏 分享分享 顶 踩

    该用户从未签到

    2
    发表于 2005-4-13 17:25:00 | 只看该作者
    这是什么
  • TA的每日心情
    奋斗
    2015-9-17 00:58
  • 签到天数: 1 天

    [LV.1]初来乍到

    3
    发表于 2005-4-14 19:11:00 | 只看该作者

    配制2003服务器的人一定要注意了,上面说的东西在实际中就是: . k0 p& Y4 a* \) A; P' Q如果你的asp程序使用了session那么请不要开2个和2个以上的web圆进程,如果想开,那么请把asp程序的session功能用cookie代替。

    如果是asp.net的程序,那么请把session的存储放到数据库中去。否则不能同步

  • TA的每日心情
    奋斗
    昨天 11:26
  • 签到天数: 2397 天

    [LV.Master]伴坛终老

    4
     楼主| 发表于 2005-4-24 10:05:00 | 只看该作者
    以下是引用yzhlinux在2005-4-14 19:11:00的发言: 5 d: _) Y" m6 j, Z8 ~" L7 g+ W) L9 L* j

    配制2003服务器的人一定要注意了,上面说的东西在实际中就是: @- M8 s A3 G# a3 b+ M 如果你的asp程序使用了session那么请不要开2个和2个以上的web圆进程,如果想开,那么请把asp程序的session功能用cookie代替。

    * [ |# M& v, D/ Z6 T

    如果是asp.net的程序,那么请把session的存储放到数据库中去。否则不能同步

    ( R& f5 g/ A' T ! c: i0 D& j+ C% T$ v( x) W' A3 p. l3 ?# l 我们用了两个web园,所以帖子数目总是不同步的

    该用户从未签到

    5
    发表于 2005-8-19 19:40:00 | 只看该作者

    本版积分规则

    关闭

    下沙大学生网推荐上一条 /1 下一条

    快速回复 返回顶部 返回列表