ASP.NET无效的回发好奇心

时间:2014-11-06 17:02:34

标签: asp.net web-farm

我有一个带有两个服务器的webfarm使用" sticky"负载均衡器上的会话。 web.configs中的machinekeys匹配,IIS中的站点编号相同。会话存储在内存中。一般来说,我们没有任何问题。但是,可以通过跨两个服务器来触发无效的回发异常。我认为,因为机器密钥,.NET版本和IIS中的站点号是相同的,这不应该在回发上发生,但它是;我错过了什么吗?

1 个答案:

答案 0 :(得分: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攻击的标志或类似的东西。