为了在重新编译后维护会话,我使用 SQLServer 来存储会话状态。只要我不存储自定义对象,这就会很好地工作。当在会话中存储的重新编译后尝试使用自定义对象时,我收到以下错误:
[A]MyObject cannot be cast to [B]MyObject.
Type A originates from 'App_Code.9qazkuv_, Version=1.3.0.0, Culture=neutral, PublicKeyToken=null'
in the context 'Default' at location
'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files
\root\26676eb7\92c7e946\App_Code.9qazkuv_.dll'.
Type B originates from 'App_Code.jndyusrx, Version=1.3.0.0, Culture=neutral, PublicKeyToken=null'
in the context 'Default' at location
'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files
\root\26676eb7\92c7e946\App_Code.jndyusrx.dll'.
几个月来我一直在努力解决这个错误,到目前为止我发现的唯一解决方案是将对象放入 dll 文件中。在某些情况下,这并不容易做到。必须有一个更简单的方法来解决这个问题。有什么建议么?
同样奇怪的是,该错误不容易重现。我试图将我的站点复制到测试环境以解决该问题,但我无法在同一服务器上的测试环境中重现该错误。而在本地主机上,问题完全没有发生。