背景:我使用C#在ASP.Net 3.5中开发了一个Web应用程序。它运行良好,但是现在有一些用户报告说有时会收到错误。我试图重复该错误,但是很难。虽然有一次,当我让该应用坐下时,我稍后又回来尝试移动它,但出现错误。我认为这与超时有关,但是我正在使用 View 状态。

有任何想法吗?当我查看eventLog时,确实看到以下错误条目。

感谢您的帮助和想法!

约翰

我的事件日志有以下错误:

场次编码:4005

事件消息:该请求的表单例份验证失败。原因:提供的票证已过期。

Activity 时间:14/03/2008 13:19:26

Activity 时间(UTC):14/03/2008 13:19:26

事件ID:d9f0333c2eed46e0b0207da69d2ea70e

事件顺序:154

事件发生:5

Activity 详细代码:50202

场次编码:3005

事件消息:发生未处理的异常。

Activity 时间:2009/3/12上午7:49:59

Activity 时间(UTC):2009/3/12上午

事件ID:590ac0f6ad734d988e9e02f0fb7800eb

事件顺序:52

事件发生:1

事件详细代码:0

应用信息:

Application domain: /LM/W3SVC/32/ROOT-1-128813294498061103

Trust level: Full

Application Virtual Path: /

Application Path: C:\Home\LocalUser\ucpga\Web\

Machine name: 169349-WEB2

处理信息:
Process ID: 6912

Process name: w3wp.exe

Account name: NT AUTHORITY\NETWORK SERVICE

这是最新的错误:

场次编码:4009
事件消息:Viewstate验证失败。原因:viewstate提供的完整性检查失败。
Activity 时间:2009/3/15下午10:26:27
Activity 时间(UTC):2009年3月16日2:26:27 AM
事件ID:3b5be134005e49c3b40400bcaa5cb48d
事件顺序:56
事件发生:1
Activity 详细代码:50203

应用信息:
应用程序域:/LM/W3SVC/32/ROOT-1-128816433841748972
信任等级:完整
应用程序虚拟路径:/
应用程序路径:C:\Home\LocalUser\ucpga\Web\
机器名称:169349-WEB2

处理信息:
进程ID:8892
进程名称:w3wp.exe
帐户名称:NT AUTHORITY\NETWORK SERVICE

索取信息:
要求网址:https://hr.ucpga.org:443/application.aspx
请求路径:/application.aspx
用户主机地址:74.160.64.222
用户:
已认证:错误
验证类型:
线程帐户名称:169349-WEB2\ucpga

ViewStateException信息:
异常消息:无效的viewstate。
客户端IP:74.160.64.222
端口:1251
用户代理:Mozilla/4.0(兼容; MSIE 7.0; Windows NT 5.1; GTB5; .NET CLR 1.1.4322; InfoPath.1)

最佳答案

此问题通常是由服务器的<machineKey />文件中具有自动生成的machine.config key 引起的。每次您的应用程序重新启动时,它将生成新的 key 。这会使所有现有的加密viewstate无效或形成身份验证票证。

尝试将<machineKey /> validationKeydecryptionKey设置为固定值。有关更多信息,请参见以下链接:

关于asp.net - 在ASP.Net中,有时会出现以下错误-Viewstate验证失败。原因: The viewstate supplied failed integrity check,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/650353/

10-13 07:03