0
這個問題是Marc Gravell對我的問題Create Out-Of-Process COM in C#/.Net ?給出的答案的後續。我選擇了他提出的解決方案,但現在運行在另一個問題上。如何訪問.Net中的COM +服務器中託管的.Net COM對象?
這裏是我的情況:
- 我在C#中實施了「DataProvider的」 COM組件
- 該組件在COM + 服務器應用程序,使多個 進程可以訪問相同 實例承載DataProvider可以通過COM訪問數據提供者的進程類型是Matlab,VB腳本和.Net應用程序。
當從Matlab或VB腳本實例化COM DataProvider時,COM +機制將啓動,並且我可以驗證是否可以使用DataProvider的單個實例。
當我嘗試從.Net訪問COM +託管實例時,問題就出現了。基本上,當一個COM組件基於.Net DLL時,即使延遲加載,.Net總是會找到DLL並從那裏實例化對象,從而跳過整個COM機制。這是預期的表演,但對我來說沒有幫助。
現在對於這個問題: 是否有可能使用COM機制在.Net應用程序中實例化一個.Net書寫的COM組件?
注意,下面的代碼不使用COM機制:
Type type = Type.GetTypeFromProgID(progID);
return Activator.CreateInstance(type);