0

私はこの奇妙な問題を抱えています、これはセットアップです。

VBで書かれたクラスライブラリがあります。dllは署名され、GACにデプロイされます。dllは、現在のユーザーを格納するためのSessionオブジェクトのラッパーです。セッションはメモリではなくdbに格納されます。私はVBで書かれた複数のWebサイトを持っており、このdllを問題なく使用しています。

c#に切り替えたので、c#に新しいWebサイトプロジェクトを追加し、同じGACのdllプロジェクトへの参照を追加しました。

さて、c#WebサイトでVB ddlクラスを使用すると、C#Webサイトがdllの別のセッション/コピーを使用しているように見えますか?

だから私の質問は、このセットアップを使用することは可能ですか?VB GAC dllに「VBバージョンとC#バージョン」がある可能性はありますか?VB WebサイトとC#Webサイトは同じdllを使用する必要がありますか?

更新: SessionIDを確認しましたが、実際、VB WebサイトとC#Webサイトには異なる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. DLL が GAC にある場合は、Web サイトの BIN フォルダーにあるべきではありません (確認してください)。DLL 参照プロパティで「ローカルのコピー」をtrueに設定していないかどうかを確認します
于 2012-10-04T08:06:38.627 に答える