ViewStateException ViewStateException ViewStateException ViewStateException Class

定義

ビューステートの読み込みまたは検証ができない場合にスローされる例外を表します。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
継承
ViewStateExceptionViewStateExceptionViewStateExceptionViewStateException
属性
実装

次のコード例は、base64 でエンコードされた文字列を逆シリアル化して返すメソッドを実装する方法を示します、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メソッド、HttpException例外を含む、ViewStateException内部例外としてのオブジェクト。The Deserialize method can throw an HttpException exception that contains a ViewStateException object as an inner exception. キャッチする方法の例を示します、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例外は、アプリケーションで処理を再スローされます。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プロパティにはから返された値が含まれています、 RemoteAddressRemotePortUserAgentPersistedStateReferer、および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に設定されているtrueMAC の識別子を持つビュー ステート情報をエンコードします。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 のエンコードを検証できませんがスローされます、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. Web ファーム内では、共通のキーを各サーバーのマシン キーを設定してください。Within a Web farm, the machine key on each server should be set to a common key.

コンストラクター

ViewStateException() ViewStateException() ViewStateException() ViewStateException()

ViewStateException クラスの新しいインスタンスを初期化します。Initializes a new instance of the ViewStateException class.

プロパティ

Data Data Data Data

例外に関する追加のユーザー定義情報を提供する、キー/値ペアのコレクションを取得します。Gets a collection of key/value pairs that provide additional user-defined information about the exception.

(Inherited from Exception)
HelpLink HelpLink HelpLink HelpLink

この例外に関連付けられているヘルプ ファイルへのリンクを取得または設定します。Gets or sets a link to the help file associated with this exception.

(Inherited from Exception)
HResult HResult HResult HResult

特定の例外に割り当てられているコード化数値である HRESULT を取得または設定します。Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.

(Inherited from Exception)
InnerException InnerException InnerException InnerException

現在の例外の原因となる Exception インスタンスを取得します。Gets the Exception instance that caused the current exception.

(Inherited from Exception)
IsConnected IsConnected IsConnected IsConnected

クライアントがサーバーに現在接続されているかどうかを示す値を取得します。Gets a value indicating whether the client is currently connected to the server.

Message Message Message Message

ビューステート例外を発生させた HTTP 要求に関するデバッグ情報を取得します。Gets debugging information about the HTTP request that resulted in a view-state exception.

Path Path Path Path

ビューステート例外を発生させた HTTP 要求のパスを取得します。Gets the path of the HTTP request that resulted in a view-state exception.

PersistedState PersistedState PersistedState PersistedState

読み込み時にビューステート例外を発生させたビューステート文字列の内容を取得します。Gets the contents of the view-state string that, when read, caused the view-state exception.

Referer Referer Referer Referer

ビューステート例外が発生したページにリンクしているページの URL を取得します。Gets the URL of the page that linked to the page where the view-state exception occurred.

RemoteAddress RemoteAddress RemoteAddress RemoteAddress

ビューステート例外を発生させた HTTP 要求の IP アドレスを取得します。Gets the IP address of the HTTP request that resulted in a view-state exception.

RemotePort RemotePort RemotePort RemotePort

ビューステート例外を発生させた HTTP 要求のポート番号を取得します。Gets the port number of the HTTP request that resulted in a view-state exception.

Source Source Source Source

エラーの原因となるアプリケーションまたはオブジェクトの名前を取得または設定します。Gets or sets the name of the application or the object that causes the error.

(Inherited from Exception)
StackTrace StackTrace StackTrace StackTrace

呼び出し履歴で直前のフレームの文字列形式を取得します。Gets a string representation of the immediate frames on the call stack.

(Inherited from Exception)
TargetSite TargetSite TargetSite TargetSite

現在の例外がスローされたメソッドを取得します。Gets the method that throws the current exception.

(Inherited from Exception)
UserAgent UserAgent UserAgent UserAgent

ビューステート例外を発生させた HTTP 要求のブラウザーの種類を取得します。Gets the browser type of the HTTP request that resulted in a view-state exception.

メソッド

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetBaseException() GetBaseException() GetBaseException() GetBaseException()

派生クラスでオーバーライドされた場合、それ以後に発生する 1 つ以上の例外の主要な原因である Exception を返します。When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions.

(Inherited from Exception)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext)

シリアル化したデータを使用して、ViewStateException クラスの新しいインスタンスを初期化します。Initializes a new instance of the ViewStateException class with serialized data.

GetType() GetType() GetType() GetType()

現在のインスタンスのランタイム型を取得します。Gets the runtime type of the current instance.

(Inherited from Exception)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

現在の例外の文字列形式を作成して返します。Creates and returns a string representation of the current exception.

(Inherited from Exception)

イベント

SerializeObjectState SerializeObjectState SerializeObjectState SerializeObjectState

例外がシリアル化され、例外に関するシリアル化されたデータを含む例外状態オブジェクトが作成されたときに発生します。Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception.

(Inherited from Exception)

適用対象

こちらもご覧ください