0

我有这个奇怪的问题,这是设置。

我有一个用 VB 编写的类库。dll 已签名并部署到 GAC。dll 是 Session 对象的包装器,用于存储当前用户。会话存储在 db 中,而不是内存中。我有多个用 VB 编写的网站,使用这个 dll 没有任何问题。

现在我们正在切换到 c#,我在 c# 中添加了一个新的网站项目,并添加了对同一个 GAC 的 dll 项目的引用。

现在,当我在 c# 网站中使用 VB ddl 类时,似乎 C# 网站正在使用 dll 的另一个会话/副本?

所以我的问题是,是否可以使用此设置?VB GAC dll 是否有可能具有“VB 和 C# 版本”?VB 网站和 C# 网站应该使用相同的 dll 吗?

更新: 我检查了 SessionID,确实,VB 网站和 C# 网站中有不同的 SessionID。尽管如此,两个站点都在同一个应用程序池中运行并使用相同的会话设置(存储在数据库中)

希望我足够清楚,如果需要,将提供更多信息!

4

1 回答 1

0

两者:c# 和 vb.net 都被编译为相同的 MSIL ......不管你使用什么语言

尝试:

  1. 删除 TMP 文件:C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\(您的应用文件夹)。停止appPool!
  2. 如果是 GAC 中的 DLL,则不应在您网站的 BIN 文件夹中(检查它)。检查您是否没有在 DLL 引用属性中将“复制本地”设置为true
于 2012-10-04T08:06:38.627 回答