2014-11-06 46 views
1

我有一个webfarm有两台服务器在负载平衡器上使用“粘性”会话。 web.configs中的machinekeys匹配和IIS中的站点编号相同。会话存储在内存中。一般我们没有任何问题。但是,通过跨越两台服务器可能触发无效的回发异常。我认为,因为machinekeys,.NET版本和IIS中的站点编号是相同的,所以这不应该发生在回发中,但它是;我错过了什么吗?ASP.NET无效回传好奇号

回答

1

这可能是由事件验证引起的?这里有一个MSDN后描述它:

http://blogs.msdn.com/b/amitsh/archive/2007/07/31/why-i-get-invalid-postback-or-callback-argument-errors.aspx

TL; DR:默认行为(这是一个很好的行为,有可能是安全原因)是服务器进行验证呈现回发的事件的原始HTML 。因此,如果您在server A上加载页面,它会记住它已呈现可回发事件foo的页面。如果server B最终得到回发,它会抱怨,因为它可能是一个xss攻击的迹象或类似的东西。