下沙论坛

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

用新浪微博连接

一步搞定

QQ登录

QQ登录

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

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

[复制链接]
  • TA的每日心情
    擦汗
    昨天 08:50
  • 签到天数: 2367 天

    [LV.Master]伴坛终老

    跳转到指定楼层
    1
    发表于 2005-4-12 13:44:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    你的程序支持 IIS6 - Web Garden 吗?
    + m) l7 B0 a- d$ l% J" F, g& z5 [ 0 S& Z; m9 ]4 [$ z8 [% I
    很就没有更新BLOG了呵呵。 刚过来深圳,时间都是乱来的~~~
    8 s# A) W1 I0 w今天帮客户搞定一个部署上的问题,花了我半天的时间。。555。  T- g) A% ?  n: X+ t8 R
    5 E* j" V% m% q  c, p& z
    后来才发现原来是IIS6 Web Garden的问题。4 N2 \3 E5 s5 }- {1 c7 G
      a- N7 o) K9 U' N9 U
    IIS6 Web Garden 指的是一个应用程序可以成多个进程(w3wp.exe)来执行,一次请求使用其中的一个。用这个的主要目的是提高程序的可用性。当其中一个进程发生错误,那么也不会影响其他进程。发生错误的进程可以根据规则关闭,而其他的进程则可以继续工作。
    . k/ X" @1 P6 I9 V9 p0 s  W% S  J   K* z, x! g8 H( J, ^; F8 W; H/ F  D
    可惜不是每个应用程序都支持Web Garden的。 例如我做的那个就不是。
    ! q# Z; M$ O6 f) z% [% E3 x4 b8 P+ O- | 6 x3 ]7 u8 b; I8 J( f1 h7 h
    一般来说 , 不支持 Web Garden 的原因是各应用程序的内存状态是不同的。虽然是访问同一个网站 , 当访问第一个进程时,进程的内存如果纪录了某些重要的信息,而当访问第二个进程的时,却无法再得到那些信息时,那么程序就不一定能运行正常,或者会发生错误。
    + A+ M0 r5 m8 P% K  [4 a
    ) Z! Y0 x8 W8 c# N8 Q. g所以,一般使用 InProc HttpSessionState / HttpApplicationState / 静态变量来储存关键信息 的程序是不支持 Web Garden的。另外平时说Session信息丢失,也和这个有关。一般很多程序都使用Cache来储存临时数据,但如果某些被修改或删除的数据没有在该进程的Cache中得到更新,那么也会很容易导致程序出错。
      c& `* P) y& |
    . \. u8 n- e9 O6 ^1 I如果你的程序用上面说的方法,并且在Windows2003/IIS6中发生奇怪的错误,那么请检查一下Web Garden的设置。 0 _3 `: m) Z8 a; ]# s3 ~

    6 |% A. Q/ |0 [2 j, e( Q& a& ~: Q: u/ h  z
    ! v7 H4 D1 r' i9 J5 r & r* @/ J! M/ [2 |* s/ {" D

    ( o$ V- D* Z' A( M2 u  w7 n8 U# Y如果你希望应用程序支持Web Garden,甚至是支持集群,那么最简单的办法就是,尽量用Cookie来纪录登陆信息,以及所有的数据获取的动作都是从数据库中读取。例如Duwamish就是这种类型的程序。 * t: M/ Z6 B3 S
      + O9 T, l  n0 W8 B3 m, _8 L) V! N
    如果一个应用程序连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服务器的人一定要注意了,上面说的东西在实际中就是: y/ Y1 y2 L' w: d0 G2 F* j如果你的asp程序使用了session那么请不要开2个和2个以上的web圆进程,如果想开,那么请把asp程序的session功能用cookie代替。

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

  • TA的每日心情
    擦汗
    昨天 08:50
  • 签到天数: 2367 天

    [LV.Master]伴坛终老

    4
     楼主| 发表于 2005-4-24 10:05:00 | 只看该作者
    以下是引用yzhlinux在2005-4-14 19:11:00的发言:- B8 q/ `! ^7 E. n" x1 Y8 d. N- w * q; L) [6 o, Z' t& o

    配制2003服务器的人一定要注意了,上面说的东西在实际中就是: ! g# I! U9 N9 W6 W+ t; H; H如果你的asp程序使用了session那么请不要开2个和2个以上的web圆进程,如果想开,那么请把asp程序的session功能用cookie代替。

    - O% J0 r: K: s" R

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

    $ y4 L+ a5 {5 I2 M: a! P5 _ 1 ]# A# M- P6 d% G- ]. X, _8 [+ w. ]* f 我们用了两个web园,所以帖子数目总是不同步的

    该用户从未签到

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

    本版积分规则

    关闭

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

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