創建我打電話從ASP.NET第三方COM對象,它調用一個可執行如下如何通過網組件
B =新myBw.Baan4Class()COM應用程序的檢索PID(進程ID);
在任何給定的時間,可能會有ASP進程調用多個實例。 我怎樣才能得到B的PID,以便我可以'殺死'它而不會干擾(殺死)其他人......
創建我打電話從ASP.NET第三方COM對象,它調用一個可執行如下如何通過網組件
B =新myBw.Baan4Class()COM應用程序的檢索PID(進程ID);
在任何給定的時間,可能會有ASP進程調用多個實例。 我怎樣才能得到B的PID,以便我可以'殺死'它而不會干擾(殺死)其他人......
不知道有關您使用的COM對象的更多細節,我不認爲有什麼好辦法關聯它啓動的exe和你正在創建的對象。
這樣說你可以將創建這些對象的責任委託給一個集中的位置(可能以SingleInstance模式運行的WCF服務),它可以通過實例化一個新對象並等待該exe文件將創建的對象關聯到該exe文件推出。當exe啓動時,它可以將它創建的對象與啓動的exe關聯起來。您可以使用WMI來檢測何時啓動了新的exe。
在asp.net中這樣做幾乎是不可能的,因爲多個用戶可能同時實例化這些對象。如果您在此嘗試這樣做,您會遇到競賽狀況。
這是一個類似的問題:How to determine the association between a VB6 app and an exe instanced with CreateObject()