Сообщение об ошибке «Состояние отображения для этой страницы неверно» не дает достаточно данных для устранения неполадки

Переводы статьи Переводы статьи
Код статьи: 832183 - Vizualiza?i produsele pentru care se aplic? acest articol.
Microsoft .NET Framework 1.1 версия данной статьи см.831150.


Существенный:NOT INSTALL данное исправление на компьютере, который находится в среде веб-фермы или в кластерной среде, если при установке этого исправления на каждом компьютере в среде или после установки исправления 323744 на всех остальных компьютерах в среде.

Для получения дополнительных сведений см.»Описание состояния представления MAC функции"в разделе «Дополнительная информация».
Развернуть все | Свернуть все

В этой статье

Аннотация

Так как данные состояния просмотра хранятся в скрытом поле на веб-странице, он уязвим для искажения при передаче данных между клиентом и сервером. Чтобы повысить безопасность компонента состояния представления, Microsoft ASP.NET проверяет данные состояния просмотра, убедитесь, что она поступила от соответствующую страницу.

Если ASP.NET не может проверить данные состояния представления, ASP.NET возвращает сообщение в обозреватель клиента о том, что "состояние отображения является недопустимым для данной страницы и может быть поврежден." Тем не менее сообщения не описывается, почему данные состояния просмотра не является допустимым.

Для получения дополнительных сведений о состоянии отображения см.»"в"Дополнительная информация"раздел.

Решение

Несмотря на то, что в этой статье предлагается исправление,Это исправление не устраняет ошибки в данных состояния представления. Это исправление только дополнительные сведения об устранении ошибок в данных состояния представления.

Корпорация Майкрософт выпустила специальное исправление, предназначенное для устранения этой проблемы.. Это исправление необходимо применять только в тех системах, где наблюдается данная проблема.. Исправление может подвергаться дополнительному тестированию.. Таким образом Если вы не подвержены серьезно эту проблему, рекомендуется дождаться следующего пакета обновления Microsoft .NET Framework 1.0, содержащего это исправление.

Чтобы получить данное исправление и решить проблему немедленно, обратитесь в службу технической поддержки Майкрософт.. Полный список телефонов службы поддержки корпорации Майкрософт, а также сведения об условиях обслуживания см. на веб-узле Майкрософт по следующему адресу::
http://support.microsoft.com/contactus/?ws=support
Примечание.В отдельных случаях, если специалистом службы технической поддержки Майкрософт будет определено, что решением проблемы является специально выпущенное исправление, оплата, предусмотренная за обращение в службы технической поддержки, может быть отменена.. Дополнительные услуги по технической поддержке, не связанные с данным исправлением, оплачиваются на стандартных условиях..

Английская версия исправления содержит версии файлов, приведенные в следующей таблице (или более поздние).. Дата и время для файлов указаны во всеобщем скоординированном времени (UTC).. При просмотре сведений о файле, время изменяется на местное.. Чтобы узнать разницу между временем по Гринвичу и местным временем,Часовой поясвкладки в окне «Дата и время» панели управления.
   Date         Time   Version       Size       File name
   --------------------------------------------------------------
   11-Dec-2003  07:13  1.0.3705.478    200,704  Aspnet_isapi.dll
   11-Dec-2003  07:06                    4,169  Aspnet_perf.h
   11-Dec-2003  07:14                  513,302  Aspnet_perf.ini
   11-Dec-2003  07:14                  510,714  Aspnet_perf2.ini
   11-Dec-2003  07:14  1.0.3705.478     24,576  Aspnet_regiis.exe
   11-Dec-2003  07:14  1.0.3705.478     28,672  Aspnet_wp.exe
   11-Dec-2003  06:27  1.0.3705.478     69,632  Corperfmonext.dll
   17-Jun-2003  21:43                   16,597  Installpersistsqlstate.sql
   17-Jun-2003  21:43                   17,331  Installsqlstate.sql
   09-Sep-2003  00:28                   17,807  Installsqlstatetemplate.sql
   11-Dec-2003  06:25  1.0.3705.478    303,104  Mscorjit.dll
   11-Dec-2003  23:48  1.0.3705.478  1,953,792  Mscorlib.dll
   11-Dec-2003  06:18                   10,284  Mscorlib.ldo
   11-Dec-2003  06:26  1.0.3705.478  2,273,280  Mscorsvr.dll
   11-Dec-2003  06:26  1.0.3705.478  2,269,184  Mscorwks.dll
   11-Dec-2003  07:10  1.0.3705.478     20,480  Perfcounter.dll
   23-Aug-2002  02:23                       15  Smartnav.htm
   30-Jul-2003  00:04                    8,728  Smartnav.js
   11-Dec-2003  23:48  1.0.3705.478  1,179,648  System.data.dll
   11-Dec-2003  23:48  1.0.3705.478  1,695,744  System.design.dll
   11-Dec-2003  23:48  1.0.3705.478  1,175,552  System.dll
   11-Dec-2003  23:48  1.0.3705.478    241,664  System.messaging.dll
   11-Dec-2003  23:48  1.0.3705.478    311,296  System.runtime.remoting.dll
   11-Dec-2003  23:49  1.0.3705.478    131,072  System.runtime.serialization.formatters.soap.dll
   11-Dec-2003  23:48  1.0.3705.478  1,200,128  System.web.dll
   11-Dec-2003  23:48  1.0.3705.478    507,904  System.web.services.dll
   11-Dec-2003  23:50  1.0.3705.478  1,994,752  System.windows.forms.dll
   11-Dec-2003  07:20                   16,632  System.windows.forms.ldo
   11-Dec-2003  07:15  1.0.3705.478     57,344  System.windows.forms.tlb
   11-Dec-2003  23:50  1.0.3705.478  1,302,528  System.xml.dll
   11-Dec-2003  23:47  1.0.3705.478     32,768  Tlbimp.exe
   17-Jun-2003  21:43                    1,419  Uninstallpersistsqlstate.sql
   09-Sep-2003  00:28                    2,119  Uninstallsqlstatetemplate.sql
   11-Dec-2003  23:47  1.0.3705.478     65,536  Wsdl.exe

Исправление сведений

Это исправление заставляет сообщений об ошибке состояния просмотра для получения дополнительных сведений. После установки данного исправления заголовок сообщения об ошибке состояния просмотра становится «Не удалось проверить данные». Несмотря на то, что новый формат сообщения об ошибке не описано проблема возникает, он предоставляет больше информации, чем в более ранний формат сообщения.

Примечание.Для получения дополнительных сведений о состоянии в состоянии отображения данных, можно запустить сведения состояния представления, которые отображаются в сообщении об ошибке через декодер состояния просмотра третьей стороной.

Данное исправление устанавливаетInnerExceptionСвойствоHttpExceptionобъект, можно использоватьApplication_Errorметод для регистрации базового исключения. Убедитесь, что рекурсивно, журнал всехInnerExceptionСвойство ошибки.

Данное исправление добавляет следующих конкретных сведений о клиенте для состояния просмотра ошибок сообщение об ошибке:
  • IP Address:
  • Номер порта:
  • Агент пользователя
  • Значение состояния отображения
  • HTTP-Referer
  • Путь к запрошенной странице
Если ошибка возникает, когда ASP.NET выполняется проверка состояния просмотра кода проверки подлинности сообщения (MAC), данное исправление добавляет сообщение, предлагающее проверить параметры <machinekey>трассировки стека. Сообщение об ошибке также заметки, данные состояния представления может быть разнесена только на одной странице.</machinekey>

If the error occurs during deserialization, this hotfix adds the LosFormater token, the _deserializationData token, and the position where the error occurred to the error message.

In most cases, if the View State data has been truncated, the View State feature will experience a FormatException error in theFromBase64Stringmethod and you will receive the following error message:
Invalid length for a Base-64 char array
However, if the View State data has been truncated and is still base64-encoded, the error will occur later in the code.

View State error message before you install this hotfix

Server Error in '/ViewState' Application.
--------------------------------------------------------------------------------
The viewstate is invalid for this page and might be corrupted.
Описание: Произошло необработанное исключение во время выполнения текущего веб-запроса. Просмотрите трассировку стека для получения дополнительных сведений об ошибке, и где было задано в коде.

Exception Details: System.Web.HttpException: The viewstate is invalid for this page and might be corrupted.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace::

[HttpException (0x80004005): The viewstate is invalid for this page and might be corrupted.]
System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +151
System.Web.UI.Page.LoadPageViewState() +18
System.Web.UI.Page.ProcessRequestMain() +423

View State error message after you install this hotfix

Server Error in '/ViewState' Application.
--------------------------------------------------------------------------------

Unable to validate data.
Описание: Произошло необработанное исключение во время выполнения текущего веб-запроса. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Web.HttpException: Unable to validate data.

Ошибка источника:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace::

[HttpException (0x80004005): Unable to validate data.]
System.Web.Configuration.MachineKey.GetDecodedData(Byte[] buf, String strModifier) +866
System.Web.UI.LosFormatter.Deserialize(String input) +44

[HttpException (0x80004005): Authentication of viewstate failed. 1) If this is a cluster, edit <machinekey> configuration so all servers use the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster. 2) Viewstate can only be posted back to the same page. 3) The viewstate for this page might be corrupted.]</machinekey>
System.Web.UI.LosFormatter.Deserialize(String input) +102
System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +101

[HttpException (0x80004005): The viewstate is invalid for this page and might be corrupted.
Client IP: 127.0.0.1
Port: 1095
Пользователь агент: Mozilla/4.0 (совместимый; MSIE 6.0; Windows NT 5.1 .NET CLR 1.0.3705)
ViewState: dDwzNDM3NTkwMzg7dDw7bDxpPDEPGk8MT47PjtsPHQ8QDA8cDxwPGw8RGF0YUt
HTTP-Referer: http://localhost/Connect2Access/WebForm1.aspx
Путь: /connect2access/webform1.aspx.]
System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +435
System.Web.UI.Page.LoadPageViewState() +16
System.Web.UI.Page.ProcessRequestMain() +439
Примечание.надписьюViewStateзначение в этом сообщении образец был усечен по размерам контекста в данной статье.

Статус

Корпорация Майкрософт подтверждает, что это проблема в продуктах Майкрософт, перечисленных в разделе «Применяется к»..

Дополнительная информация

Дополнительные сведения о стандартной терминологии, используемой для описания обновлений программных продуктов Майкрософт, см. в следующих статьях базы знаний Майкрософт::
824684Стандартные термины, используемые при описании обновлений программных продуктов Майкрософт

Описание состояния представления

ASP —без ведения базы данных. Каждый раз, приложение цикла обработки на сервере для клиента, данные не сохраняются потокобезопасной. Каждый раз, веб-страница отправляется на сервер страница создается заново. Это заставляет все сведения, связанные со страницей, а также с помощью элементов управления на странице, будут потеряны для каждого цикла обработки. Например если данные типы пользователей в текстовом поле, эта информация теряется в цикле обработки из обозревателя или клиентского устройства к серверу.

ASP.NET является также без сохранения состояния. Однако ASP.NET имеет новую функцию состояния представления, который можно использовать для сохранения данных между циклами обработки на и с сервера. Состояние представления автоматически сохраняет значения свойств страницы и значения всех элементов управления на странице между циклами обработки. Данные состояния просмотра хранятся как скрытое поле на странице.

Функция состояния представления можно использовать для хранения значения специфичные для страницы в течение нескольких циклов, когда страница отправляется обратно. Например если приложение отслеживает специфичные для пользователя сведения, можно использовать компонента состояния представления сохранять эти сведения для конкретного пользователя. Сведения пользователя, сведения, используемый на странице, но это не обязательно является частью любого элемента управления.

в разделе «Аннотация»

Описание функции MAC состояния представления

Состояние представления кода проверки подлинности сообщения (MAC) является тег проверки подлинности (также известный какChecksum:), создается при применении схему проверки подлинности вместе с секретным ключом, в сообщение. — Это вычисляемые и проверить с помощью одного и того же ключа. Таким образом MAC могут быть проверены только предполагаемым получателем. Макинтоши могут быть созданы с помощью различных методов шифрования и алгоритмы, такие как безопасные хэш-код алгоритма (SHA), Message Digest 5 (MD5) алгоритм и алгоритм данные Encryption Standard (DES).

Просмотр состояния MAC предназначена для предотвращения клиент отправляет запрос, содержащий вредоносные данные состояния представления. По умолчанию MAC состояния представления включена с помощьюenableViewStateMac = "true"флаг в файле Machine.config.

The simplest way to determine whether the issue that you are experiencing is related to the MAC is to turn off the feature. To do this, set theenableViewStateMacфлагЛОЖЬ. If you no longer experience View State errors, the problem related to the MAC.

The View State MAC is applied differently in the Microsoft .NET Framework 1.0 before hotfix 323744 is installed. The hotfix that this article describes (hotfix 832183) includes hotfix 323744. If you do not install hotfix 323744 - alone or with hotfix 832183 - on all the other computers in the environment also, the computers that do not have hotfix 323744 installed will experience View State data errors.

Дополнительные сведения см. в следующих статьях базы знаний Майкрософт::
323744FIX: "The View State Is invalid for this page and might be corrupted" error message in ASP.NET
328546INFO: Post-Service Pack 2 .NET Framework ASP.NET Hotfix Package

Свойства

Код статьи: 832183 - Последний отзыв: 26 ноября 2010 г. - Revision: 2.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft .NET Framework 1.0
  • Microsoft Visual Studio .NET 2002 Professional Edition
  • Microsoft Visual Studio .NET 2002 Enterprise Developer
  • Microsoft ASP.NET 1.0
Ключевые слова: 
kbqfe kbhotfixserver kbvs2002sp1sweep kbstate kbnetframe100presp3fix kbfix kbbug kbmt KB832183 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:832183

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com