WCF服务管理

发布于 2024-12-05 23:51:30 字数 192 浏览 1 评论 0原文

例如,我有一个为客户端提供服务的 WCF 服务。有时我应该向该服务发送一些命令以获得一些结果。例如,如果需要禁止某些客户端,我会发送一些命令,例如“禁止 John Doe”,并且服务会将名为“John Doe”的用户添加到禁止列表中。我怎样才能实现它?我应该使用命名管道或类似的东西吗?也许我应该从运行服务的机器上管理服务。服务托管在独立的控制台应用程序中。 提前致谢!

For instance, I have a WCF service that serve clients. Sometimes I should send some commands to that service to get some results. For example, if it's necessary to ban some client I would send some command like "ban John Doe" and service will add user named "John Doe" to ban list. How can I implement that? Should I use named pipes or something like that? Probably I should manage service from machine where service is running. Service is hosted in standalone console application.
Thanks in advance!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

茶底世界 2024-12-12 23:51:30

可以使用 Code 执行此操作,只需执行以下步骤:

  1. 所有客户端 Notify self 服务(将属性添加到所有方法作为名称或 Id)
  2. 保留所有静态列表中的客户端名称(第一次之后)为 ClientList
  3. 编写服务方法以从该列表中删除 ban Client
  4. 编写简单的方法来检查该列表以及是否 client 列表中不存在,仅返回无值对于任何方法

It's possible with do this with Code just you Need to do these step`s:

  1. All Client Notify self on service(add property to all method as Name or Id)
  2. Keep all client name (after first-time) in Static-List as ClientList
  3. Write service method to remove ban Client From That List
  4. Write simple method to check that list and if client Doesn't exist in list, simply return none value for any Method
怀念你的温柔 2024-12-12 23:51:30

创建访问同一数据存储的多个服务。一份用于客户,一份用于管理。

为什么?

请参阅:http://en.wikipedia.org/wiki/Interface_segregation_principle

如何?

使用数据库,并从两个服务连接到该数据库。 如果您还没有数据库,那么像 SqLite 这样占用空间小的东西可能会起作用。

绑定

命名管道可能是您的绑定的好主意,因为它们无法通过网络访问。这是一个教程:

但在迈出这一步之前请先检查一下这个问题:

如果这看起来风险太大,您可以使用 net-tcp 代替:

Create multiple services that access the same datastore. One for clients, and one for administration.

Why?

See: http://en.wikipedia.org/wiki/Interface_segregation_principle

How?

Use a database, and connect to it from both services. Something with a small footprint like SqLite might work if you don't already have a DB.

Bindings:

Named pipes might be a good idea for your binding since they aren't network accessible. Here is a tutorial:

But check out this question before you make the leap:

If that seems too risky, you could use net-tcp instead:

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文