我使用VB.NET的web應用程序,它開始使用的CreateObject一些過程,就像這樣:過程中獲取進程ID開始的CreateObject在.NET
Dim AVObject = CreateObject("avwin.application")
所有步驟完成後得到的一切關閉停止使用正確的釋放功能,但由於某些原因,該過程仍然存在。
是否有某種方式可以獲得已啓動進程的進程ID,以便在終止之前明確地終止它?
感謝
我使用VB.NET的web應用程序,它開始使用的CreateObject一些過程,就像這樣:過程中獲取進程ID開始的CreateObject在.NET
Dim AVObject = CreateObject("avwin.application")
所有步驟完成後得到的一切關閉停止使用正確的釋放功能,但由於某些原因,該過程仍然存在。
是否有某種方式可以獲得已啓動進程的進程ID,以便在終止之前明確地終止它?
感謝
我從來沒有碰到過一個具體的解決這個問題,但在邏輯上我會用下面的僞邏輯(我想應該在受控環境中工作)創建一個解決方法
謝謝,也許我會試試這個。我已經實施了Fadrain的建議,這是可行的。 – 2010-03-18 07:47:17
我試過這種方法,它不會停止進程.. – 2010-03-18 14:23:06
有趣。當COM服務器的引用計數下降到零時應該去。也許你有一些其他的對象引用它? 如果您在實例化組件(不調用組件中的任何方法/屬性)後立即調用ReleaseCOMObject()會發生什麼? – Vagaus 2010-03-18 15:17:17
這聽起來不錯,但是,它是非常可能的腳本將在不同的線程運行的同步。 – 2010-03-15 11:48:05
只要你把這些代碼放在一個關鍵部分(鎖)中作爲一個原子操作並集中你所有的應用程序創建,那麼它應該是線程安全的 – 2010-03-15 12:14:37
好吧,這聽起來不錯。你有任何關於如何在VB中創建關鍵部分的建議(語法上我的意思是)? – 2010-03-15 12:37:08