首页 新闻 会员 周边

由于部署了web负载平衡,所导致的问题,求解答

0
悬赏园豆:80 [已关闭问题] 关闭于 2012-04-17 19:58

负载IP为C, 负载服务器设置了两台,分别为A与B,服务器环境为winsever2008+iis7。

用winserver2008里自带的负载平衡管理(NLB),设置了负载均衡“筛选模式”为“多个主机,无相关性”

现在遇到的问题:系统中使用GridView实现了数据的展现,并带有一行操作列。整个GridView的HTML如下:

 <asp:GridView runat="server" onrowcommand="GridView1_RowCommand">
                      <Columns>
                        <asp:TemplateField HeaderText="85">
                                <HeaderStyle HorizontalAlign="Center" Width="40px"></HeaderStyle>
                                <ItemStyle HorizontalAlign="Center" Width="40px"></ItemStyle>
                                <ItemTemplate>
                                   85
                                </ItemTemplate>
                        </asp:TemplateField>
                        <asp:TemplateField HeaderText="状态">
                                <HeaderStyle HorizontalAlign="Center" Width="40px"></HeaderStyle>
                                <ItemStyle HorizontalAlign="Center" Width="40px"></ItemStyle>
                                <ItemTemplate>
                                    <asp:LinkButton CommandName="ViewProcess" runat="server" CausesValidation="false"  Text="查看" ></asp:LinkButton>
                                </ItemTemplate>
                        </asp:TemplateField>
                      </Columns>
                  </asp:GridView>

 

点击“查看”操作,事件GridView1_RowCommand 会经常出现没响应的情况。如果不使用负载,单独访问A或者B,均没问题。分析了一下,问题应该出现页面打开的请求定位到了A服务器,但是点击“查看”操作时,回发请求定位到了B服务器,结果B服务器在重新绑定响应事件的时候出了问题,绑定失败,响应事件没执行。

这个问题还存在于用户控件(.ascx)里放置的一些服务器控件,如按钮<asp:button>等等。

这些问题均是在系统使用了负载均衡后产生的。单独访问服务器完全没有问题。

各位大侠帮我分析分析吧。多谢。

灿烂的鸟的主页 灿烂的鸟 | 菜鸟二级 | 园豆:202
提问于:2012-04-17 18:53
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册