2013-08-29 20 views
1

我有一個項目使用一個持續過程生命週期的組件(請參閱Force Disposal of an Inaccessible Static Object)。爲了避免組件持久化,我需要將它包裝在子進程中並調用它。爲親子過程編寫代碼

理想情況下,我想使用過程相同的方式,我可以線程;讓編譯器幫助我處理這個過程;儘管由於Windows管理進程的方式,這是不可能的。

是否有推薦的方法來設計一起工作的過程;即關於如何調用子進程的最佳實踐,將子進程的異常返回給父進程,以及使用共享內存/ WCF /其他方法來允許這兩個進程相互通信?理想情況下,我希望能夠在同一個VS2012解決方案中使用兩個進程的代碼,並讓編譯器盡其所能確保兩個進程的兼容性。

回答

1

remoting approach使許多AppDomain透明地一起工作,但我會避免它,因爲它變得太複雜,有更簡單的方法。

另一個好方法是使用消息隊列並對它們進行修飾,因此它可以很容易地協調各種過程。

此外,與WCF自主主機相比,ASP.NET Web API self-host更易於使用和實施。

在我看來,我會採用ASP.NET Web API方法。