ViewStateException.Path ViewStateException.Path ViewStateException.Path ViewStateException.Path Property

定義

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

public:
 property System::String ^ Path { System::String ^ get(); };
public string Path { get; }
member this.Path : string
Public ReadOnly Property Path As String

プロパティ値

要求のパスを格納している StringA String containing the path from the request.

次のコード例は、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   

注釈

このプロパティはPATH_INFO ServerVariables 、プロパティの変数と同じ値を返します。This property returns the same value as the PATH_INFO variable in the ServerVariables property. このメソッドは、ホスト名の後のパスの部分を返します。It returns the portion of the path after the host name. たとえば、URL http://www.contoso.com/virdir/page.htmlでは、 Pathは/virdir/page.html を返します。For example, in the URL http://www.contoso.com/virdir/page.html, Path would return /virdir/page.html.

適用対象