【发布时间】:2012-02-07 03:20:55
【问题描述】:
我有一个用 C# 编写的服务器。我需要与它交互,以便重新配置、清除缓存、断开用户连接、查看运行控制台等。我无法关闭服务器来执行任何这些操作。
两个可用选项,通过 Tcp 连接与服务器接口或使用 Windows 约定(某些 WCF?)。
哪个更可靠或“最佳实践”:
- Tcp 连接和发出请求(当然只让管理/维护请求来自本地主机)或
- 使用 WCF 以某种方式访问程序集内的管理/维护方法?
提前感谢您几乎总是有用的反馈。
编辑:任何人都可以提供 WCF 的任何替代方案吗?服务器本身实际上是 65kb。它很小。我现在要做的就是向服务器发出一些管理/维护命令到。我不是想成为服务器,它已经完成了。我只想从本地主机用户空间应用程序进行交互。
编辑 2:问题解决:我只是使用一个非常小的 Tcp 客户端向我已经构建的协议发出请求。它只有几百行,不需要使用笨重的 WCF。 WCF 似乎……太多了。那就是说我无论如何都需要学习它(现在就是),感谢您的反馈!
【问题讨论】:
-
你能用custom service commands吗?如果您需要通过命令发送大量参数和/或让服务返回数据,这可能还不够。
-
@Blorgbeard 这是一个很好的起点。至于现在,我确实需要获取返回值(例如连接的客户端列表、缓存大小/计数详细信息等。这可能与您链接到的技术有关吗?再次感谢。
-
使用 WCF,可以将传输配置为在包括 TCP 和 HTTP 在内的许多选项上运行。由于它在本地运行,因此您还可以使用命名管道,这可能比开发自定义 TCP 套接字协议更简单且可能更快。