2010-12-09 164 views
1

我有一個使用COM DLL的ASP.NET項目。當我加載網站時,我登錄沒有問題,只要我不去使用COM庫的頁面,我就可以瀏覽網站。在ASP.NET中使用第三方COM dll

當我轉到使用COM庫從數據庫獲取數據的頁面時,頁面加載正常。當我離開這個頁面時,問題就出現了。出於某種原因,我被送回到登錄頁面,就像初始會話被刪除一樣。

如果我拿走顯示庫檢索數據的頁面上的組件,我可以離開頁面,所以肯定是庫的調用會導致會話中斷。

有沒有人有任何想法,爲什麼會發生?

回答

1

修正了它。這是一個愚蠢的問題。該庫在每次做某事時都會在bin目錄中創建一個日誌文件。每當bin目錄中的文件發生更改時,會話就會被丟棄,因爲AppDomain被破壞並重新啓動。

0

我不知道COM組件是否崩潰並將應用程序池斷開(或者現在在ASP.NET中調用的任何東西)。

您是否可以留意ASP.NET工作進程(它曾經被稱爲aspnetwp.exe),並查看當您使用COM調用導航到頁面時它是否消失?

如果是這樣,那麼COM組件可能會拋出一個結構化異常,這會終止進程,導致會話狀態丟失,如果將它存儲在服務器上的進程中。

您可能能夠從事件查看器(開始 - >運行 - > eventvwr)收集更多信息,其中ASP.NET記錄任何崩潰。