视图状态无效。客户端已断开连接

时间:2012-09-17 05:49:19

标签: asp.net c#-4.0 iis-7.5

我收到错误 错误消息:客户端已断开连接 错误来源: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个应用程序正在运行我的应用程序的同一个应用程序池中运行。

0 个答案:

没有答案