我想知道如何設置一個操作(方法,代碼塊等)在不同的進程(不是線程)上運行,方式是如果主進程崩潰其他人將仍然在運行。不可監測,但運行。在單獨的進程中運行代碼
我想我可以在另一個應用程序中「編譯」代碼塊,然後執行結果,但那不會太優雅。有沒有更好的辦法?
我想知道如何設置一個操作(方法,代碼塊等)在不同的進程(不是線程)上運行,方式是如果主進程崩潰其他人將仍然在運行。不可監測,但運行。在單獨的進程中運行代碼
我想我可以在另一個應用程序中「編譯」代碼塊,然後執行結果,但那不會太優雅。有沒有更好的辦法?
除非你運行一個單獨的exe的方式,MS打算創建一個新的AppDomain並運行其中的其他代碼。 http://msdn.microsoft.com/en-us/library/system.appdomain.aspx
另一種選擇是使用相同的app/exe並傳遞命令行參數來表示在第二個實例中要運行的內容。
.NET應用程序域正是出於這個原因:http://stackoverflow.com/questions/1094478/what-is-a-net-application-domain –
如果代碼可能會從一個SOE拋出一個SOE第三方圖書館。在這種情況下,AppDomain不起作用 - 整個過程被終止。而殺死輔助程序並不壞。 – mark