簡體   English   中英

如何在Windows服務之間進行通信

[英]How to communicate between Windows Services

我有2個使用C#創建的Windows服務。

我想在第二個Windows服務中調用一個函數的服務之一。

我該怎么辦?

編輯:

問題是我必須運行的應用程序(我不需要它們而不是服務進程也很好)但我需要這個2應用程序進行通信,這2個應用程序在同一台服務器上,

當然。 您可以使用許多IPC機制。 遠程處理,TCP / HTTP偵聽器等

這兩種服務是否提供在其他服務之外可能有用的功能?

有關更多想法,請參閱此主題: C#中的IPC機制 - 使用和最佳實踐

編輯:正如Davide Piras所指出的,如果您可以使用WCF,那么請考慮使用它。 它將簡化生活。 WCF配置文件有時很難掌握,但也有一個很好的工具: http//msdn.microsoft.com/en-us/library/ms732009.aspx

服務是否在同一個盒子上? 你有.NET 4嗎? 強烈建議使用盡可能快的模式, 內存映射文件

如果它們位於同一個盒子上,但您沒有.NET 4,或者處於同質的Microsoft Windows網絡中,則命名管道可以正常工作。 更重要的是,我在命名管道上使用WCF

我發現所有其他答案都是正確的,但有點太復雜(WCF是一個大問題)並且不可擴展(內存和命名管道只能在同一個服務器上運行)。 我建議你使用DotNetMQ消息系統。 它易於使用和部署,甚至可以在不同服務器上運行的進程之間進行通信。

暫無
暫無

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

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