次の方法で共有


ViewStateException.IsConnected プロパティ

定義

クライアントがサーバーに現在接続されているかどうかを示す値を取得します。

public:
 property bool IsConnected { bool get(); };
public bool IsConnected { get; }
member this.IsConnected : bool
Public ReadOnly Property IsConnected As Boolean

プロパティ値

クライアントがサーバーにまだ接続されている場合は true。それ以外の場合は false

次のコード例では、base64 でエンコードされた文字列を逆シリアル化し、プロパティ設定のコレクションを返すメソッドを実装する方法を ICollection 示します。 メソッドは Deserialize 、オブジェクトを HttpException 含む例外を ViewStateException 内部例外としてスローできます。 この例では、例外をキャッチ HttpException し、 オブジェクトからプロパティを取得する方法を ViewStateException 示します。

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

注釈

このプロパティは、 プロパティの呼び出しと同じ値を IsClientConnected 返します。

適用対象

こちらもご覧ください