郁闷的错误,只有一部分人浏览的时候会出现这种错误,Invalid_Viewstate

loveASUS 2008-08-19 12:53:02
总是出现这个,不定时的,不知道那个用户打开就出来这个问题了。好几个页面都有这个问题。
错误报告:
MESSAGE: Invalid_Viewstate Client IP: 59.41.65.233 Port: 2524 User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ViewState: 太长了

STACK TRACE:
at System.Web.UI.Page.LoadPageStateFromPersistenceMedium()
at System.Web.UI.Page.LoadPageViewState()
at System.Web.UI.Page.ProcessRequestMain()


加入这个 <% @ Page EnableViewStateMac="false">
也没有用。

老是不定时出现。
...全文
685 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
lefafa 2008-09-02
  • 打赏
  • 举报
回复
肯定是视图的问题,我觉得楼主是我这种情况

我以前也碰到过这样的情况,

自动产生aspx文件,好几十w个,

baidu啊,google啊没有事就访问,新自动产生的aspx文件,因为没有编译过

所以搞的我的c盘总是2天内就满了,

最好能生成htm文件,aspx是需要编译的,

如果不是这个问题,那就祝你好运了~~~
loveASUS 2008-08-31
  • 打赏
  • 举报
回复
事实证明,重新做系统也没有,
看来这个问题严重了。
loveASUS 2008-08-26
  • 打赏
  • 举报
回复
对了 在报个错误吧,

日志每天都会产生
--------------------------------------------------------------------------------------------
事件 ID ( 0 )的描述(在资源( .NET Runtime )中)无法找到。本地计算机可能没有必要的注册信息或消息 DLL 文件来从远程计算机显示消息。您可能可以使用 /AUXSOURCE= 标识来检索词描述;查看帮助和支持以了解详细信息。下列信息是事件的一部分: .NET Runtime version 1.1.4322.2407- Setup Error: Failed to load resources from resource file
Please check your Setup.
------------------------------------------------------------------------------------------

同时c盘,莫名奇妙的没有空间了,平白无故多了5g,但是不知道在什么地方,检查了所有文件都没有发现异常,

从而引发了 网站大面积 System.OutOfMemoryException 的异常。

----------------------------------------------------------------------------------
loveASUS 2008-08-26
  • 打赏
  • 举报
回复
谢谢楼上的回答,同样的网页我已经在服务器上运行了2年了都没有问题,从8月9日做好系统后就发生了,

开始还只是一个网页,频率为一天发送2-4次,现在是4个网页,频率1个小时4-6次,ip都是不同的人。

不知道什么原因,

只能重新做一边系统,看看到底怎么回事了。

我有点怀疑我的iis了。
cteddy 2008-08-25
  • 打赏
  • 举报
回复
关闭ViewState验证根本没有用
这问题郁闷我了好长的时间
有些人自己没有遇见过问题,
还装懂,即用别人乱说的东西来回答
我超级鄙视这类的回答

sp1234回答的十分正确,你的ViewState巨大后台得不到完整的ViewState数据
这才是真正的原因
解决办法也如sp1234回答的一样
还有一办法就是嘿嘿,你少用什么隐藏控件来记录你的什么ID啊
之类的,一个页面不要有一堆按键和方法。这是最坏的解决方案
loveASUS 2008-08-21
  • 打赏
  • 举报
回复
还是没有答案啊?
  • 打赏
  • 举报
回复
如果你发现出问题的页面总是ViewState巨大,那么可能就是这个原因。asp.net对客户端提交的数据是有大小限制的,如果ViewState巨大,那么后台得不到完整的ViewState数据。

你可以看我的帖子,仅用十几条语句就可以把这类页面中下载到客户端的ViewState变成很短的一小行信息,真正的巨大的ViewState数据不应该在客户端和服务器之间丢来丢去浪费网络资源。
loveASUS 2008-08-20
  • 打赏
  • 举报
回复
这是我的web.config设置。
<httpRuntime executionTimeout="43200" maxRequestLength="100960" useFullyQualifiedRedirectUrl="true" />

<pages enableViewStateMac="false" />

这是我出错页面的设置:
<%@ Page EnableViewStateMac="false"

如果问题就是EnableViewStateMac="false"的设置,我也不用上来提问了。

to:fellowcheng

在webconfig中我都没有设置过 <machineKey>,尝试设置过,由此网站变的很慢。所以不想考虑。
twin21cn 2008-08-19
  • 打赏
  • 举报
回复
网址给出来,大家可以试试呀
hai_literature 2008-08-19
  • 打赏
  • 举报
回复
关闭ViewState验证,并且不要在程序中使用ViewState存放超大的数据
zld_baggio 2008-08-19
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 dandanmei 的回复:]
在web.config 配置
<pages enableEventValidation="false" enableViewStateMac="false" />
应该可以搞定。。我上午的时候也是有这样的问题
[/Quote]
dandanmei 2008-08-19
  • 打赏
  • 举报
回复
在web.config 配置
<pages enableEventValidation="false" enableViewStateMac="false" />
应该可以搞定。。我上午的时候也是有这样的问题
suyiming 2008-08-19
  • 打赏
  • 举报
回复
http://blog.bluephp.com/read.php/158.htm
gongsun 2008-08-19
  • 打赏
  • 举报
回复
关闭ViewState验证
三下鱼 2008-08-19
  • 打赏
  • 举报
回复
同意楼上的~
fellowcheng 2008-08-19
  • 打赏
  • 举报
回复
如果这是一个群集,编辑<machineKey>配置以设置所有的服务器都用同一个验证码和验证算法。自动生成方式无法用于群集。”

因为ViewState是用machineKey加密的,然后返回时会验证ViewState是否被纂改过,这就要求machineKey保持不变。一般情况下,machineKey是在.NET Framework安装时一次性随机生成的,所以是应该不变的,但你面对的情况可能就是machineKey变了。这可能有两种原因,第一就是服务商确实用群集的方式为你的网站提供服务,也就是两次请求的相应分别是由两台服务器处理,而它们的machineKey不同;第二就是服务上基于某些原因让machineKey在动态改变。

最简单的解决方案,不要设置ViewState验证,这时候就和machineKey没有任何关系了。

来源
http://topic.csdn.net/t/20060408/11/4671970.html
kwh050101 2008-08-19
  • 打赏
  • 举报
回复
up

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧