ViewStateException 클래스

정의

뷰 상태를 로드할 수 없거나 그 유효성을 검사할 수 없을 때 throw되는 예외를 나타냅니다.Represents the exception that is thrown when the view state cannot be loaded or validated. 이 클래스는 상속될 수 없습니다.This class cannot be inherited.

public ref class ViewStateException sealed : Exception
[System.Serializable]
public sealed class ViewStateException : Exception
type ViewStateException = class
    inherit Exception
    interface ISerializable
Public NotInheritable Class ViewStateException
Inherits Exception
상속
ViewStateException
특성
구현

예제

다음 코드 예제에는 base64로 인코딩된 문자열을 deserialize 하 고 반환 하는 메서드를 구현 하는 방법을 보여 줍니다.는 ICollection 속성 설정의 컬렉션입니다.The following code example demonstrates how to implement a method that deserializes a base64-encoded string and returns an ICollection collection of property settings. 합니다 Deserialize 메서드가 throw 할 수는 HttpException 포함 하는 예외를 ViewStateException 개체를 내부 예외로 합니다.The Deserialize method can throw an HttpException exception that contains a ViewStateException object as an inner exception. 예제에서는 어떻게 catch 할 수 있습니다는 HttpException 예외에서 속성을 검색 하 고는 ViewStateException 개체입니다.The example shows how you can catch an HttpException exception and retrieve the properties from the ViewStateException object.

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 예외입니다.If an exception occurs when the page loads the view-state information, the page creates a ViewStateException object and passes it as an inner exception within an HttpException exception. HttpException 예외 다시 throw 애플리케이션에서 처리 됩니다.The HttpException exception is re-thrown to be handled by the application.

합니다 ViewStateException 예외에 대 한 정보를 저장 하는 클래스는 Message 속성입니다.The ViewStateException class stores information about the exception in the Message property. 요청에 액세스할 수 있는 권한이 있으면를 ServerVariables 속성을 해당 Message 속성에서 반환 된 값이 포함 합니다 RemoteAddress, RemotePort, UserAgent, PersistedState, Referer, 및 Path 속성 그렇지 않은 경우는 Message 속성 일반 뷰 상태 오류 메시지를 포함 합니다.If the request has permission to access the ServerVariables property, then the Message property contains the values returned from the RemoteAddress, RemotePort, UserAgent, PersistedState, Referer, and Path properties; otherwise, the Message property contains a generic view-state error message.

뷰 상태 예외 메시지 인증 코드 (MAC) 유효성 검사 오류의 결과일 수 있습니다.A view-state exception can be the result of a Message Authentication Codes (MAC) validation error. 하는 경우 페이지 특성 enableViewStateMac 로 설정 된 true를 뷰 상태 정보를 MAC 식별자를 사용 하 여 인코딩됩니다.If the page attribute enableViewStateMac is set to true, view-state information is encoded with a MAC identifier. 뷰 상태 정보를 서버에 다시 게시 되 면 페이지는 해당 사용자가 변경 되지 않았음을 확인 하는 인코딩 확인 합니다.When the view-state information is posted back to the server, the page verifies the encoding to ensure that it has not been altered by the user. 페이지 뷰 상태 정보를 MAC 인코딩을 확인할 수 없습니다, 하는 경우 throw 됩니다는 HttpException 사용 하 여 예외를 ViewStateException 개체를 내부 예외로 합니다.If the page cannot validate the MAC encoding on the view-state information, it will throw an HttpException exception with the ViewStateException object as an inner exception.

유효성 검사 성공을 위해 MAC 보내고 받을 때 동일한 키로 뷰 상태 정보를 해시 해야 합니다.For MAC validation to succeed, the view-state information must be hashed by the same key when it is sent and received. 웹 팜에서 각 서버에서 컴퓨터 키를 공용 키로 설정 되어야 합니다.Within a Web farm, the machine key on each server should be set to a common key.

생성자

ViewStateException()

ViewStateException 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the ViewStateException class.

속성

Data

예외에 대한 사용자 정의 추가 정보를 제공하는 키/값 쌍의 컬렉션을 가져옵니다.Gets a collection of key/value pairs that provide additional user-defined information about the exception.

(다음에서 상속됨 Exception)
HelpLink

이 예외와 연결된 도움말 파일에 대한 링크를 가져오거나 설정합니다.Gets or sets a link to the help file associated with this exception.

(다음에서 상속됨 Exception)
HResult

특정 예외에 할당된 코드화된 숫자 값인 HRESULT를 가져오거나 설정합니다.Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.

(다음에서 상속됨 Exception)
InnerException

현재 예외를 발생시킨 Exception 인스턴스를 가져옵니다.Gets the Exception instance that caused the current exception.

(다음에서 상속됨 Exception)
IsConnected

클라이언트가 현재 서버에 연결되어 있는지 여부를 나타내는 값을 가져옵니다.Gets a value indicating whether the client is currently connected to the server.

Message

뷰 상태 예외를 발생시킨 HTTP 요청에 대한 디버깅 정보를 가져옵니다.Gets debugging information about the HTTP request that resulted in a view-state exception.

Path

뷰 상태 예외를 발생시킨 HTTP 요청의 경로를 가져옵니다.Gets the path of the HTTP request that resulted in a view-state exception.

PersistedState

읽을 때 뷰 상태 예외를 발생시킨 뷰 상태 문자열의 내용을 가져옵니다.Gets the contents of the view-state string that, when read, caused the view-state exception.

Referer

뷰 상태 예외가 발생한 페이지로 연결되는 페이지 URL을 가져옵니다.Gets the URL of the page that linked to the page where the view-state exception occurred.

RemoteAddress

뷰 상태 예외를 발생시킨 HTTP 요청의 IP 주소를 가져옵니다.Gets the IP address of the HTTP request that resulted in a view-state exception.

RemotePort

뷰 상태 예외를 발생시킨 HTTP 요청의 포트 번호를 가져옵니다.Gets the port number of the HTTP request that resulted in a view-state exception.

Source

오류를 발생시키는 애플리케이션 또는 개체의 이름을 가져오거나 설정합니다.Gets or sets the name of the application or the object that causes the error.

(다음에서 상속됨 Exception)
StackTrace

호출 스택의 직접 실행 프레임에 대한 문자열 표현을 가져옵니다.Gets a string representation of the immediate frames on the call stack.

(다음에서 상속됨 Exception)
TargetSite

현재 예외를 throw하는 메서드를 가져옵니다.Gets the method that throws the current exception.

(다음에서 상속됨 Exception)
UserAgent

뷰 상태 예외를 발생시킨 HTTP 요청의 브라우저 종류를 가져옵니다.Gets the browser type of the HTTP request that resulted in a view-state exception.

메서드

Equals(Object)

지정한 개체가 현재 개체와 같은지를 확인합니다.Determines whether the specified object is equal to the current object.

(다음에서 상속됨 Object)
GetBaseException()

파생 클래스에서 재정의되었을 때, 하나 이상의 후속 예외의 근본 원인이 되는 Exception을 반환합니다.When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions.

(다음에서 상속됨 Exception)
GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

(다음에서 상속됨 Object)
GetObjectData(SerializationInfo, StreamingContext)

serialize된 데이터를 사용하여 ViewStateException 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the ViewStateException class with serialized data.

GetType()

현재 인스턴스의 런타임 형식을 가져옵니다.Gets the runtime type of the current instance.

(다음에서 상속됨 Exception)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(다음에서 상속됨 Object)
ToString()

현재 예외에 대한 문자열 표현을 만들고 반환합니다.Creates and returns a string representation of the current exception.

(다음에서 상속됨 Exception)

이벤트

SerializeObjectState

예외에 대한 serialize된 데이터가 들어 있는 예외 상태 개체가 만들어지도록 예외가 serialize될 때 발생합니다.Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception.

(다음에서 상속됨 Exception)

적용 대상

추가 정보