我正在使用C#3.5 Web窗体和MS SQL Server 2008的网络商店应用程序。该解决方案使用内置的Web服务器在VS2010上正常运行。然后我将项目上传到测试子域,然后加载主页;只要我点击一个菜单链接,我得到这个:viewstate MAC验证失败。这在我的项目早期并没有发生,我也没有用会话变量菜单结构概念构建任何奇怪或奇怪的正常CRUD内容。我很难过,现在我寻求来自stackoverflow天才池的帮助。有什么建议么?共享Web服务器上的ViewState错误
我从粘贴错误页面的堆栈跟踪信息:
[ViewStateException: Invalid viewstate.
Client IP: omitted by user
Port: 53604
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; Tablet PC 2.0; OfficeLiveConnector.1.5; OfficeLivePatch.1.3)
ViewState: /wEPDwULLTEwMDUyNjYzMjhkGAEFHl9fQ29udHJvbHNSZXF1aXJlUG9zdEJhY2tLZXlfXxYMBRJjdGwwMCRpbWdCX05hcGtpbnMFFmN0bDAwJGltZ0JfVGFibGVjbG90aHMFEmN0bDAwJGltZ0JfUnVubmVycwUSY3RsMDAkaW1nQl9QaWxsb3dzBRFjdGwwMCRpbWdCX0Fwcm9ucwUQY3RsMDAkaW1nQl9XcmFwcwURY3RsMDAkaW1nQl9RdWlsdHMFEmN0bDAwJGltZ0JfSG9saWRheQUUY3RsMDAkaW1nQl9PdXRlcndlYXIFEmN0bDAwJGltZ0JfSnVkYWljYQUTY3RsMDAkaW1nQl9LaWRTdHVmZgUVY3RsMDAkaW1nQl9CYXJnYWluQmlufgoWd3FjkchVtkJTfTl/dw7C/Ks=
Referer: http://omitted by user/
Path: /Default.aspx]
[HttpException (0x80004005): Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that <machineKey> configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster.]
System.Web.UI.ViewStateException.ThrowError(Exception inner, String persistedState, String errorPageMessage, Boolean macValidationError) +106
System.Web.UI.ViewStateException.ThrowMacValidationError(Exception inner, String persistedState) +14
System.Web.UI.ObjectStateFormatter.Deserialize(String inputString) +237
System.Web.UI.ObjectStateFormatter.System.Web.UI.IStateFormatter.Deserialize(String serializedState) +4
System.Web.UI.Util.DeserializeWithAssert(IStateFormatter formatter, String serializedState) +37
System.Web.UI.HiddenFieldPageStatePersister.Load() +207
System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +105
System.Web.UI.Page.LoadAllState() +43
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +6785
System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +242
System.Web.UI.Page.ProcessRequest() +80
System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) +21
System.Web.UI.Page.ProcessRequest(HttpContext context) +49
ASP.default_aspx.ProcessRequest(HttpContext context) in c:\windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\2e1de3e2\ec16856d\App_Web_default.aspx.cdcab7d2.2xg-fqvv.0.cs:0
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +181
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75
希望这会有所帮助。我试图让我的网络托管公司的注意力,但他们没有回答我的票。我真的很想打电话给他们,但我现在会克制。
罗伯特
可以回答你自己的问题吗?我只输了2分,哦。就像我有一千个放弃。哈。每当我陷入困境时,这个网站都非常有帮助。 – rjsteward 2010-11-08 14:05:51