Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET PageViewState会话状态持久器_C#_Asp.net_Session State_Page State - Fatal编程技术网

C# ASP.NET PageViewState会话状态持久器

C# ASP.NET PageViewState会话状态持久器,c#,asp.net,session-state,page-state,C#,Asp.net,Session State,Page State,这就是我所做的 在Corelibrary下创建了一个新文件夹。 将其命名为“适配器” 在“适配器”下,创建了一个新的类文件。 将类文件命名为“PageStateAdapter.cs” 从“PageStateAdapter.cs”中的PageAdapter类扩展 为GetStatePersister添加覆盖,如下所示。 代码: 在Web->App Browsers下创建了浏览器文件 在浏览器中添加了以下内容。将文件命名为“Default.browser” <browsers> <

这就是我所做的

在Corelibrary下创建了一个新文件夹。 将其命名为“适配器” 在“适配器”下,创建了一个新的类文件。 将类文件命名为“PageStateAdapter.cs” 从“PageStateAdapter.cs”中的PageAdapter类扩展 为GetStatePersister添加覆盖,如下所示。 代码:

在Web->App Browsers下创建了浏览器文件 在浏览器中添加了以下内容。将文件命名为“Default.browser”

<browsers>
<browser refID="Default">
  <controlAdapters>
  <adapter controlType="System.Web.UI.Page" adapterType="Corelibrary.Adapters.PageStateAdapter" />
</controlAdapters>
<capabilities>
  <capability name="requiresControlStateInSession" value="true" />
</capabilities>
</browser>
</browsers>
确保adapterType属性与为页状态适配器创建的类命名空间匹配

出于某种奇怪的原因,这段代码不仅仅适用于Chrome。当我说“不工作”时,我的意思是,页面加载很好,但viewstate却是一团混乱。然而在IE和Firefox中,视图状态很小,页面加载速度更快

我做的下一件事是在不同的用户代理下在Fiddler中加载页面,如果用户代理是chrome,则会出现同样混乱的视图状态


我已经多次检查代码,我编写了一个示例站点进行测试。这在铬上效果很好。我真的不知道该去哪里找。非常感谢您的帮助。

我已经修好了。对于旧问题,代码正在清除所有适配器。我修改了它,以便修复程序只清除了需要的适配器。现在它可以正常工作了。

我把它修好了。对于旧问题,代码正在清除所有适配器。我修改了它,以便修复程序只清除了需要的适配器。现在它可以正常工作了。所以问题是Request.Browser.Adapters.Clear在特定浏览器类型的代码中被调用。将你的答案标记为正确答案,然后继续
<browsers>
<browser refID="Default">
  <controlAdapters>
  <adapter controlType="System.Web.UI.Page" adapterType="Corelibrary.Adapters.PageStateAdapter" />
</controlAdapters>
<capabilities>
  <capability name="requiresControlStateInSession" value="true" />
</capabilities>
</browser>
</browsers>