Ошибка ViewState на общем веб-сервере - PullRequest
0 голосов
/ 05 ноября 2010

Я работаю над приложением интернет-магазина с использованием веб-форм C # 3.5 и MS SQL Server 2008. Решение отлично работает на VS2010, используя встроенный веб-сервер.Затем я загружаю проект в тестовый поддомен, и домашняя страница загружается;как только я нажимаю на ссылку меню, я получаю это: Проверка MAC представления состояния не удалась.Это не происходило в начале моего проекта, и я не создал ничего странного или странного, обычного CRUD-материала с концепцией структуры меню с переменными сеансами.Я в тупике, и теперь я ищу помощи у пула гений stackoverflow.Любые предложения?

Я вставляю информацию трассировки стека со страницы ошибки:

[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 ]

1 голос
/ 05 ноября 2010

Я в тупике, и теперь я ищу помощи у пула гений stackoverflow.Какие-либо предложения?

Я предлагаю установить machineKey на web.config, например:

<machineKey 
validationKey="NXBXUKMF19UN5SCJX1SF5XXTR0MK4EYAMBJ 5GYRPAGMBAAGGADANBGKQHKIG9W0B" 
decryptionKey="RNNWWNSU7WJBAMQ8R4XAOMIH7SPRZPF7LHI MRHWVIF2AB7NA6AII7OXYE2JSX7ZM"
validation="SHA1"    
/>
0 голосов
/ 08 ноября 2010

Эта проблема была вызвана тем, что компания веб-хостинга перешла на AspNet 4.0, и мой локальный проект разработчика ориентирован на 3.5 sp1. Я решил проблему с viewstate, сопоставив целевой фреймворк, и теперь он отлично работает. Просто предложение проверить версию как часть любых усилий по устранению неполадок.

спасибо за помощь, гениальный пул stackoverflow.

...