c# - 一个 WCF 服务的两个 throttle

标签 c# web-services wcf throttling

我正在 WCF 服务下开发一个系统,其中包含两个模块,并且该服务是自托管的。其中一个模块必须处理多个客户端,而另一个模块必须一次处理一个直接文件下载请求。此模块上的其他请求设置在队列中。 enter image description here

如果是对模块二的请求,系统应该保留其他请求,但它应该处理对模块的请求

  1. 如何使用 WCF 服务 throttle 来实现此目的?我尝试实现两个 throttle ,但没有奏效。
  2. 是否可以在 WCF throttle 中计算待处理请求的数量?

我正在尝试通过使用 MySQL 来保留队列来完成此操作,但我无法保留针对模块 2 的当前请求。是否可以保留用户请求并在当前进程完成后处理它?

最佳答案

在一个主机下获得两个 throttle 的最好方法是分离接口(interface)服务并定义单独的端点。这允许我在一台主机下使用两个 throttle ,但在两个不同的端口下(这没问题;))。

关于计算待处理请求的数量,我认为我需要通过以下链接的一些支持来实现性能计数器:

如果我能够在 WCF 服务中实现挂起的请求计数,我会更新。

关于c# - 一个 WCF 服务的两个 throttle ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30637162/

相关文章:

asp.net - WCF 和 REST 与 SOAP

c# - WCF 服务调用失败...我的配置文件有什么问题?

c# - Windows 8.1 背景音频播放器在应用程序的其他页面中不起作用

c# - 如何在.Net core中使用Google Sheets API?

c++ - 从 C++ 调用 Web 服务

wordpress - 一个 Amazon EC2 微型实例能否以低流量处理 4 个 WordPress 站点?

c# - 我可以在 Web 服务中使用编译查询吗?

c# - 我无法让 Combobox 重绘

C# 附件执行

web-services - 元数据 API 究竟是什么?