4
A
回答
3
您可以對這種IPC使用命名管道。爲此,請查看System.IO.Pipe的名稱空間和優秀的NamedsPipeServerStream
& NamedPipeClientStream
類。
請注意,您可以在同一個域內使用匿名管道進行進程間通信,同時您可以在不同域(即跨同一個Intranet上的PC)中使用IPC的命名管道。
0
您可以使用AppDomain.UnhandledException
事件來通知其他AppDomain,可能是通過一個已命名的Mutex。由於它們是系統範圍的,因此您可以創建一個名爲「MyAppHasCrashed」並立即鎖定的程序。當你遇到未處理的異常時,你釋放互斥量。另一方面,有一個等待互斥體的線程。由於它最初被阻止,線程將等待。當發生異常時,線程恢復,您可以處理崩潰。
Mutex crashed = new Mutex(true, "AppDomain1_Crashed");
...
private void AppDomain_UnhandledException(...)
{
// do whatever you want to log/alert the user
// then unlock the mutex
crashed.ReleaseMutex();
}
然後,在另一面:
void CrashWaitThread()
{
try {
crashed = Mutex.OpenExisting("AppDomain1_Crashed");
}
catch (WaitHandleCannotBeOpenedException)
{
// couldn't open the mutex
}
crashed.WaitOne();
// code to handle the crash here.
}
這是一個黑客攻擊的一位,但它工作得很好兩個域間和進程間的情況。
1
是的,這是可能的。 .NET類型支持的情況會有所不同,具體取決於您如何確定「已崩潰」。
基本上,監控應用程序需要提供適合訪問應該運行受監控應用程序的系統的證書。這正是一個會做與something like啓動文件到/從另一個域複製:
net use \\Fileserver1.domain2.com\IPC$ /user:DOMAIN\USER PASSWORD
或它的API equaivalent。
如果使用WMI(這是顯而易見的方法,很容易與Win32_Process
查詢列出遠程系統上的進程),你可以提供憑據(例如,與scripting interface或in .NET)。
相關問題
- 1. 在同一個域名下的兩個Rails應用程序
- 2. 蘋果應用程序商店中的兩個不同的應用程序具有相同的名稱?
- 3. 兩個域的一個應用程序
- 4. 如何提供來自同一個域的兩個不同應用程序
- 5. 在應用程序中使用兩個不同的uitab欄
- 6. 使用NodeJS的角度應用程序:在同一個應用程序中爲兩個不同的域設置兩個主頁/索引頁
- 7. 在一個應用程序中使用來自不同供應商的控件
- 8. 與Spring Security在同一個應用程序中的兩個領域?
- 9. 一個rails應用程序,兩個域,每個不同的會話
- 10. WebBrowser控件在兩個應用程序中表現不同
- 11. android在不同設備中通信兩個應用程序
- 12. 在不同路徑的相同域中部署多個Rails應用程序
- 13. 排序兩個不同的領域
- 14. 在一個應用程序中定義兩個不同的登錄過程
- 15. 同步兩個Lightswitch應用程序
- 16. iPhone - 兩個相同的應用程序
- 17. 燒瓶登錄不能與同一域上的兩個應用程序工作
- 18. Android:在一個屏幕上的兩個不同視圖中的應用程序中運行應用程序(splitscreen?)
- 19. 不同的網站在不同的領域,一個.NET MVC應用程序?
- 20. 可能在同一個應用程序中有兩個NSWindowController?
- 21. 如何在同一個應用程序中設置兩個$ routeParams?
- 22. asp.net在一個域名上的兩個應用程序
- 23. 在應用程序商店訂閱應用程序3個月
- 24. iTunes思考兩個不同的應用程序是相同的
- 25. 如何在iTunes應用程序商店中找到某個應用程序的不同大小的圖標?
- 26. 不同網絡中兩個應用程序之間的命令
- 27. 如何在ACL中表示不同的應用程序域?
- 28. MVC和經典的ASPX應用程序在同一個域中
- 29. 在一個Spring Boot應用程序中使用兩個不同配置的ObjectMapper
- 30. 如何在一個應用程序中使用兩個不同的數據庫?
「跨域」是指不同的計算機:互斥鎖是特定於一臺計算機的。 – Richard
@Richard - 對不起,我們以爲只是在一臺機器上處理AppDomain。 – Polynomial
我錯過閱讀的問題的數量,因此回答錯誤的問題是令人尷尬的大問題......我們都做到了。 – Richard