簡體   English   中英

進程間通信-現代選擇?

[英]Inter Process Communication - Modern Options?

我正在開發具有Windows服務和用於配置和控制Windows服務的前端UI的系統。 不適使用.net 4.6。

該服務將產生多個服務器,用戶可以通過UI創建,啟動和停止這些服務器。

研究UI用來控制我的服務並從服務器接收狀態信息的最佳方法。

從我的研究中,我發現了以下內容:

  1. SQLITE-創建一個UI寫入命令的消息隊列,服務器將定期讀取並使用另一個消息隊列進行響應。 不理想,因為它沒有生命並且需要輪詢系統。

  2. 命名/匿名管道-實時請求/響應。 是可行的,但是在處理與單個服務器通信的多個客戶端時有點笨拙。

  3. WCF-實時請求/響應。 易於實現且易於操作,只不過用戶需要擔心為運行系統配置有效端口。

  4. 滾動我自己的通信協議-實時請求/響應,但同樣的問題也適用於選擇端口號。

今天的技術還有什么我想念的嗎?

我實際上沒有意識到WCF可以使用命名管道。 找到了理想的帖子。 易於實現,用戶無需擔心選擇IP端口等問題。

https://stackoverflow.com/a/7833188/1680271

由於我們列出了所有選項,因此如何將MemoryMappedFile與EventWaitHandle結合使用

https://docs.microsoft.com/en-us/dotnet/standard/io/memory-mapped-files

https://docs.microsoft.com/en-us/dotnet/standard/threading/eventwaithandle

與WCF比較的MemoryMappedFile + EventWaitHandle

https://www.techmikael.com/2010/02/blazing-fast-ipc-in-net-4-wcf-vs.html

Signalr和OWIN / Katana

https://docs.microsoft.com/en-us/aspnet/signalr/overview/deployment/tutorial-signalr-self-host

執行簡單的HTTP POST / GET請求和響應,使用Signalr,您可以進行實時發布/訂閱。 請參閱鏈接以獲得良好的介紹。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM