序言:我在傳統環境中工作ASP.NET/.NET 2.0,沒有 Visual Studio。 Notepad ++和FTP。雖然不太理想,但這是我現在處理的手。我目前沒有對IIS實例或服務器機器的直接/直接控制權。在ASP.NET C中的會話中鑄造對象#
我在會議上存儲一個對象,Foo
類型:
this.Session["foo"] = new Foo();
this.Response.Redirect("the/second/page");
在第二頁上,我從會話檢索,並試圖投它使用:
Foo foo = (Foo) this.Session["foo"];
我收到:
System.InvalidCastException: Unable to cast object of type 'Foo' to type 'Foo'.
當我在第二頁上通過.GetType()
比較類型名稱:
Foo in session: ASP._dev_blah_aspx+Foo
New instance of Foo: ASP._dev_blah_aspx+Foo
但是通過.GetType().GUID
它們的類型GUID是不同的:
Foo in session: a67f218d-...
New instance of Foo: 267f20ea-...
這是否可能有什麼關係這question/answer?我會嘗試,但請參閱序言。
您的課程在哪裏?它是在App_Code文件夾中,還是在頁面上定義的? – Steven
在頁面上定義腳本塊;所以嵌套類。 – Dan
Foo被標記爲序列化? –