ViewStateException.Path 属性

定义

获取导致视图状态异常的 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

属性值

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 异常并从对象中检索属性 ViewStateExceptionThe 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 ServerVariablesThis 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.htmlPath 会返回/virdir/page.html。For example, in the URL http://www.contoso.com/virdir/page.html, Path would return /virdir/page.html.

适用于