我收到错误
错误消息:客户端已断开连接
错误来源:System.Web
Stack Treace :System.Web.UI.ViewStateException:无效的viewstate ...
我有一个在Windows IIS 7.5框架4.0上运行的简单Web应用程序。 并且没有负载bilancer
我使用flowplayer的jquery工具在叠加层上打开一些页面。
之前我在着陆页上打开了包含查看状态的整个页面 例如
$("a[rel]").length && $("a[rel]").live("click", function (a) { var b = $(this).overlay({ mask: "gray", effect: "apple", closeOnClick: !1, closeOnEsc: !1, fixed: !1, top: 0, onBeforeLoad: function () { var a = this.getOverlay().find(".contentWrap"), b = this.getOverlay().find(".contentWrap_Request"), d = this.getOverlay().find(".contentWrap_AddLead"); a.html(""); b.html(""); d.html(""); a.load(this.getTrigger().attr("href")); b.load(this.getTrigger().attr("href"));
}...
我认为我加载的页面的视图状态导致了问题。所以我改变了代码如下
a.load(this.getTrigger().attr("href") + " .ajaxDiv");
b.load(this.getTrigger().attr("href") + " .ajaxDiv");
现在,我没有打开整个页面
为了避免覆盖我打开的页面的视图状态,我只加载页面的预定义div。
我在网上搜索,发现了一些建议,比如指定机器密钥。我把它放在我的web.config文件中。
<pages enableViewStateMac="true" viewStateEncryptionMode="Always"/>
<machineKey validationKey="...." decryptionKey="..." validation="SHA1" decryption="AES" />
<authentication mode="Forms" >
<forms requireSSL="true" protection="All" timeout="720" defaultUrl="...." loginUrl="Default.aspx" >
</forms>
</authentication>
但我仍然得到上述错误。
我在博客上看过Check HttpResponse.IsClientConnected in page load event
我应该使用这种方法吗?我的应用程序的流量不是太多每天大约7到9千(24小时)。因此可以有任何应用程序池回收的原因。
我也看过Stack Overflow的文章,但没有运气 另外,我想补充说,4个应用程序正在运行我的应用程序的同一个应用程序池中运行。