【问题标题】:"Correct" way to communicate with a local Windows Service与本地 Windows 服务通信的“正确”方式
【发布时间】:2015-11-01 18:50:12
【问题描述】:

与本地运行的 Windows 服务进行通信的“正确”或至少“典型”方式是什么?

我可以看到使用 WCF 打开 HTTP 或 TCP 端点非常简单,但它们都是真正网络协议。

我应该选择什么协议来调用方法并从本地 Windows 服务接收响应?

【问题讨论】:

  • 取决于服务组件本身(以及需要做什么)..
  • @user2864740 加油,有哪些服务选项?我以为只有标准的 Windows 服务?您在services.msc 中看到的那些。
  • 这个问题是关于“服务”还是特定服务?标准 [windows] 服务没有单一的工作方式。
  • 我正在编写新的 Windows 服务,我想知道最好的办法是允许另一个应用程序与之对话。

标签: c# .net windows windows-services


【解决方案1】:

你可以使用:

【讨论】:

  • 我不需要超快的速度,只要足够好,我想命名管道将是最安全的选择,除非你能想到任何潜在的问题?
  • @BanksySan,我也会使用命名管道。 Microsoft 提供了一些您可以复制和修改的示例。它有一些小技巧,你可以边做边学。乍一看,从你说的情况来看,这似乎是最好的选择。
  • 嗨,伙计们,我正在仔细阅读答案,关于命名管道,我知道对于跨不同计算机的双工进程通信,它是合适的,但最近我正在阅读一个名为 SignalR 的新 API或者至少对我来说是新的......我想知道这是否是命名管道的替代品,或者它与它相比如何?
  • @willyMon 也许你可以分析一下并添加另一个回复。这将有助于我们所有人了解更多。
  • 实际上,我决定使用以下配置创建一个示例测试:一个带有从 Hub 类调用操作的按钮的网站。然后我创建了一个 Windows 服务,通过使用 SignalR 客户端,我能够订阅我已经在互联网上发布的网站上的事件。结果是双工通信非常快,而且花费更少或最少。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-08
  • 1970-01-01
  • 2020-01-02
  • 1970-01-01
  • 2011-05-25
相关资源
最近更新 更多