0

序言:我在没有Visual Studio 的旧环境 ASP.NET/.NET 2.0 中工作。目前记事本++和FTP。虽然不太理想,但这是我目前处理的手牌。我目前无法直接/立即控制 IIS 实例或服务器机器。


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

但是它们的类型 GUID.GetType().GUID不同:

Foo in session:      a67f218d-...
New instance of Foo: 267f20ea-...

这可能与这个问题/答案有关吗?我会尝试,但请参阅序言。

4

2 回答 2

1

上传代码时,请尝试强制重新编译。最简单的方法是触摸您的 web.config。只需用 Notepad++ 打开它并在任何地方添加一个空格,以便服务器识别它已更改。

于 2012-10-17T17:24:52.043 回答
0

防止这种情况发生的另一种方法是始终在上传站点之前对其进行预编译(使用 Visual Studio 中的发布选项)

于 2012-10-17T17:36:17.110 回答