ViewStateException.Path プロパティ
アセンブリ: System.Web (system.web.dll 内)


このプロパティは、ServerVariables プロパティの PATH_INFO 変数と同じ値を返します。ホスト名の後に続くパスの部分が返されます。たとえば、URL が http://www.contoso.com/virdir/page.html の場合、Path は /virdir/page.html を返します。

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

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- ViewStateException.Path プロパティのページへのリンク