ViewStateException Класс

Определение

Представляет исключение, которое вызывается при невозможности загрузки или проверки состояния представления. Этот класс не наследуется.

public ref class ViewStateException sealed : Exception
[System.Serializable]
public sealed class ViewStateException : Exception
[<System.Serializable>]
type ViewStateException = class
    inherit Exception
    interface ISerializable
Public NotInheritable Class ViewStateException
Inherits Exception
Наследование
ViewStateException
Атрибуты
Реализации

Примеры

В следующем примере кода показано, как реализовать метод, десериализующий строку в кодировке Base64 и возвращающий коллекцию ICollection параметров свойств. Метод Deserialize может создать HttpException исключение, содержащее ViewStateException объект в качестве внутреннего исключения. В этом примере показано, как перехватывать HttpException исключение и извлекать свойства из ViewStateException объекта.

private ICollection LoadControlProperties(string serializedProperties)
{

    ICollection controlProperties = null;

    // Create an ObjectStateFormatter to deserialize the properties.
    ObjectStateFormatter formatter = new ObjectStateFormatter();

    try
    {
        // Call the Deserialize method.
        controlProperties = (ArrayList)formatter.Deserialize(serializedProperties);
    }
    catch (HttpException e)
    {
        ViewStateException vse = (ViewStateException)e.InnerException;
        String logMessage;

        logMessage = "ViewStateException. Path: " + vse.Path + Environment.NewLine;
        logMessage += "PersistedState: " + vse.PersistedState + Environment.NewLine;
        logMessage += "Referer: " + vse.Referer + Environment.NewLine;
        logMessage += "UserAgent: " + vse.UserAgent + Environment.NewLine;

        LogEvent(logMessage);

        if (vse.IsConnected)
        {
            HttpContext.Current.Response.Redirect("ErrorPage.aspx");
        }
        else
        {
            throw e;
        }
    }
    return controlProperties;
}
Private Function LoadControlProperties(ByVal serializedProperties As String) As ICollection

    Dim controlProperties As ICollection = Nothing

    ' Create an ObjectStateFormatter to deserialize the properties.
    Dim formatter As New ObjectStateFormatter()

    Try
        ' Call the Deserialize method.
        controlProperties = CType(formatter.Deserialize(serializedProperties), ArrayList)
    Catch e As HttpException
        Dim vse As ViewStateException
        Dim logMessage As String

        vse = e.InnerException

        logMessage = "ViewStateException. Path: " + vse.Path + Environment.NewLine
        logMessage += "PersistedState: " + vse.PersistedState + Environment.NewLine
        logMessage += "Referer: " + vse.Referer + Environment.NewLine
        logMessage += "UserAgent: " + vse.UserAgent + Environment.NewLine

        LogEvent(logMessage)

        If (vse.IsConnected) Then
            HttpContext.Current.Response.Redirect("ErrorPage.aspx")
        Else
            Throw e
        End If
    End Try
    Return controlProperties
End Function 'LoadControlProperties

Комментарии

Если при загрузке страницы сведений о состоянии представления возникает исключение, страница создает ViewStateException объект и передает его как внутреннее исключение в пределах HttpException исключения. Исключение HttpException создается повторно для обработки приложением.

Класс ViewStateException хранит сведения об исключении в свойстве Message . Если запрос имеет разрешение на доступ к свойствуServerVariables, свойство содержит значения, Message возвращаемые из RemoteAddressсвойств , RemotePort, UserAgent, PersistedStateRefererи Path свойств; Message в противном случае свойство содержит универсальное сообщение об ошибке состояния представления.

Исключение состояния представления может быть результатом ошибки проверки кодов проверки сообщений (MAC). Если для атрибута enableViewStateMac страницы задано значение true, сведения о состоянии представления кодируются с помощью идентификатора MAC. Когда сведения о состоянии представления публикуются обратно на сервер, страница проверяет кодировку, чтобы убедиться, что пользователь не был изменен. Если страница не может проверить кодировку MAC в сведениях о состоянии представления, она вызовет HttpException исключение с ViewStateException объектом в качестве внутреннего исключения.

Для успешной проверки MAC сведения о состоянии представления должны хэшироваться тем же ключом при отправке и получении. В веб-ферме ключ компьютера на каждом сервере должен иметь общий ключ.

Конструкторы

ViewStateException()

Инициализирует новый экземпляр класса ViewStateException.

Свойства

Data

Возвращает коллекцию пар «ключ-значение», предоставляющую дополнительные сведения об исключении.

(Унаследовано от Exception)
HelpLink

Получает или задает ссылку на файл справки, связанный с этим исключением.

(Унаследовано от Exception)
HResult

Возвращает или задает HRESULT — кодированное числовое значение, присвоенное определенному исключению.

(Унаследовано от Exception)
InnerException

Возвращает экземпляр класса Exception, который вызвал текущее исключение.

(Унаследовано от Exception)
IsConnected

Возвращает значение, указывающее подключен ли клиент к серверу в данный момент.

Message

Возвращает отладочную информацию о HTTP-запросе, вызвавшем исключение состояния представления.

Path

Возвращает путь HTTP-запроса, вызвавшего исключение состояния представления.

PersistedState

Возвращает содержимое строки состояния представления, чтение которой вызвало исключение состояния представления.

Referer

Возвращает URL-адрес страницы, связанной со страницей, в которой произошло исключение состояния представления.

RemoteAddress

Возвращает IP-адрес HTTP-запроса, вызвавшего исключение состояния представления.

RemotePort

Возвращает номер порта HTTP-запроса, вызвавшего исключение состояния представления.

Source

Возвращает или задает имя приложения или объекта, вызывавшего ошибку.

(Унаследовано от Exception)
StackTrace

Получает строковое представление непосредственных кадров в стеке вызова.

(Унаследовано от Exception)
TargetSite

Возвращает метод, создавший текущее исключение.

(Унаследовано от Exception)
UserAgent

Возвращает тип браузера HTTP-запроса, вызвавшего исключение состояния представления.

Методы

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetBaseException()

При переопределении в производном классе возвращает исключение Exception, которое является первопричиной одного или нескольких последующих исключений.

(Унаследовано от Exception)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetObjectData(SerializationInfo, StreamingContext)

Инициализирует новый экземпляр класса ViewStateException с сериализованными данными.

GetType()

Возвращает тип среды выполнения текущего экземпляра.

(Унаследовано от Exception)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
ToString()

Создает и возвращает строковое представление текущего исключения.

(Унаследовано от Exception)

События

SerializeObjectState
Является устаревшей.

Возникает, когда исключение сериализовано для создания объекта состояния исключения, содержащего сериализованные данные об исключении.

(Унаследовано от Exception)

Применяется к

См. также раздел