2009-07-28 74 views
0

我有一個組件(內置.net的組件),我需要訪問(幾乎)每個請求到兩個不同的網站。一個網站是用經典的asp編寫的,另一個用asp.net mvc編寫的。爲長期生存的COM互操作託管.net程序集?

目前我在asp.net解決方案中引用程序集,並將其稱爲像任何.net程序集。在經典的asp網站上,我通過一個COM包裝器來調用它。

這是一切都很好,除了現在我需要這個組件實際上保持活着並監視配置文件的變化。在我的asp.net網站上,我可以在應用程序範圍內保留一個名稱,我想我可以在asp訪問的組件服務中註冊它。

這是最好的方法嗎?此外,這種方式組件實際上將託管兩次 - 一個在asp.net應用程序範圍內,另一個在組件服務中。我也許只能將它放在組件服務中,然後改爲從asp.net引用它。

我不知道 - 有些東西聞起來有點腥(不,不是我) - 我是在正確的軌道上還是你看到更好的選擇?

+0

我想你的意思是「在經典的ASP網站」中的第二段。 – 2009-07-28 06:33:15

+0

這是正確的,謝謝:) – 2009-08-03 17:37:13

回答

0

好了,所以我想我找到兩種解決方案,這個項目都可以接受的:

1)註冊它Global.asa中的Application_OnStart在這樣Application("Someobject") = Server.CreateObject("Someobject")

2 Application對象)主機它組件服務並處理那裏的生存期。

0

你真的需要一個長時間運行的對象嗎?你說你需要監視配置文件的變化 - 當配置發生變化時,你需要觸發一些動作,還是隻需要確保每個傳入請求都使用組件的最新配置副本?如果是後者,那麼標準的.NET配置應該可以爲你工作,而不必關心對象的生命週期。

在託管方面,您是否需要使用任何COM +服務?如果沒有,那麼我不會使用COM +。如果你想爲你的.NET組件建立一箇中心位置,爲什麼不把它註冊到GAC中?

相關問題