Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.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
ASP.NET视图状态验证-ASP.NET 1.1与ASP.NET 3.5_Asp.net_Validation_Viewstate - Fatal编程技术网

ASP.NET视图状态验证-ASP.NET 1.1与ASP.NET 3.5

ASP.NET视图状态验证-ASP.NET 1.1与ASP.NET 3.5,asp.net,validation,viewstate,Asp.net,Validation,Viewstate,我们正在将web应用程序从ASP.NET 1.1迁移到ASP.NET 3.5。我们的应用程序通过DNS循环在多台服务器上运行,因此每个浏览器请求可能都会在不同的服务器上结束。我们的web.config中确实有一个用于防止验证错误的 然而,我们的计划是一次迁移一台服务器。现在看起来像是用户在1.1上加载页面。服务器,然后页面在回发时在3.5服务器上结束,viewstate验证失败 我还没有在网上找到任何关于这个问题的信息——我只是猜测viewstate验证在1.1之间是不兼容的。和3.5,即1.1

我们正在将web应用程序从ASP.NET 1.1迁移到ASP.NET 3.5。我们的应用程序通过DNS循环在多台服务器上运行,因此每个浏览器请求可能都会在不同的服务器上结束。我们的web.config中确实有一个用于防止验证错误的

然而,我们的计划是一次迁移一台服务器。现在看起来像是用户在1.1上加载页面。服务器,然后页面在回发时在3.5服务器上结束,viewstate验证失败

我还没有在网上找到任何关于这个问题的信息——我只是猜测viewstate验证在1.1之间是不兼容的。和3.5,即1.1生成的viewstate即使使用相同的machineKey也不会在3.5上验证,反之亦然

有人能证实这一怀疑吗


谢谢

使用中提到的粘性会话。这将使用户在同一台机器上停留一段时间


我认为允许单个用户在一个会话中访问框架的三个不同版本是不明智的。

使用中提到的粘性会话。这将使用户在同一台机器上停留一段时间


我认为允许单个用户在一个会话中访问三个不同版本的框架是不明智的。

您是否为3.5主机运行IIS7?我在IIS7上运行ViewState 1.1应用程序时遇到了很多问题。让1.1应用程序在IIS7上正常运行是很困难的,更不用说尝试跨多个框架版本进行web garden了。我遇到的最大问题是ViewState的加密或管理方式与IIS的previos版本不同。如果尝试在1.1上设置weg garden,则会出现各种ViewState加密错误。您不能在IIS7上的1.1应用程序上设置web garden(具有多个工作线程)。至少从我的经验来看。

您是否为3.5主机运行IIS7?我在IIS7上运行ViewState 1.1应用程序时遇到了很多问题。让1.1应用程序在IIS7上正常运行是很困难的,更不用说尝试跨多个框架版本进行web garden了。我遇到的最大问题是ViewState的加密或管理方式与IIS的previos版本不同。如果尝试在1.1上设置weg garden,则会出现各种ViewState加密错误。您不能在IIS7上的1.1应用程序上设置web garden(具有多个工作线程)。至少从我的经验来看。

我相信1.1和2.0对viewstate使用了不同的默认加密算法。1.1的默认值是3DES,我相信2.0的默认值是SHA1(尽管目前我似乎找不到支持它的文档)。在新服务器上尝试将机器密钥中的验证设置为3DES,看看这是否解决了问题

<machineKey validation="3DES">

我相信1.1和2.0对viewstate使用了不同的默认加密算法。1.1的默认值是3DES,我相信2.0的默认值是SHA1(尽管目前我似乎找不到支持它的文档)。在新服务器上尝试将机器密钥中的验证设置为3DES,看看这是否解决了问题

<machineKey validation="3DES">