ViewStateException.Path Eigenschaft

Definition

Ruft den Pfad der HTTP-Anforderung ab, die zu einer Ansichtszustandsausnahme geführt hat.

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

Eigenschaftswert

String

Ein String, der den Pfad der Anforderung enthält.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie eine Methode implementiert wird, die eine base64-codierte Zeichenfolge deserialisiert und eine ICollection Auflistung von Eigenschafteneinstellungen zurückgibt. Die Deserialize Methode kann eine HttpException Ausnahme auslösen, die ein ViewStateException Objekt als innere Ausnahme enthält. Das Beispiel zeigt, wie Sie eine HttpException Ausnahme erfassen und die Eigenschaften aus dem ViewStateException Objekt abrufen können.

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

Hinweise

Diese Eigenschaft gibt denselben Wert wie die PATH_INFO Variable in der ServerVariables Eigenschaft zurück. Er gibt den Teil des Pfads nach dem Hostnamen zurück. Beispielsweise würde in der URL http://www.contoso.com/virdir/page.htmlPath /virdir/page.html zurückgegeben.

Gilt für