【问题标题】:concurrent requests in REST serviceREST 服务中的并发请求
【发布时间】:2014-05-19 12:54:03
【问题描述】:

我正在寻求有关使用 WCF 休息服务的说明。

  1. 一个 REST 服务可以处理多少并发请求?
  2. TimeOut 对此有任何依赖吗?
  3. 我们如何在 REST 中为它的连接实现缓存 make;(例如,REST 服务正在建立与 Windows 的连接 object ,比如 Windows 8,查询某些东西;我怎么能保持这个 缓存中的连接)?

如果你能提供一些信息,那就太好了。

谢谢 塞巴斯蒂安

【问题讨论】:

  • 您的答案基本上是 1) 它取决于服务; 2) 取决于服务; 3)这取决于服务。不幸的是,我认为如果您想在这里获得对您的问题的有用答案,您需要提供更具体的细节,而对所有三个问题的彻底回答可能会非常冗长。

标签: .net web-services wcf rest service


【解决方案1】:

鉴于您的问题的广泛性,我认为您可能需要研究 WCF 服务的几个方面:

实例化
实例化行为(使用ServiceBehaviorAttribute.InstanceContextMode 属性设置)控制如何创建InstanceContext 以响应传入消息。默认情况下,每个 InstanceContext 都与一个用户定义的服务对象相关联,因此(在默认情况下)设置InstanceContextMode 属性也可以控制用户定义的服务对象的实例化。

并发
并发是在任何时候控制InstanceContext 中活动的线程数。这是通过使用带有 ConcurrencyMode 枚举的 ServiceBehaviorAttribute.ConcurrencyMode 来控制的。

节流
ServiceThrottlingBehavior 类公开了可用于限制在应用程序级别创建多少实例或会话的属性。使用此行为,您可以微调 WCF 应用程序的性能。使用MaxConcurrentCalls 属性指定在ServiceHost 类中主动处理的最大消息数,并使用MaxConcurrentInstances 属性指定服务中InstanceContext 对象的最大数目。

以下链接提供有价值的参考:
http://msdn.microsoft.com/en-us/library/ms731193(v=vs.110).aspx
http://msdn.microsoft.com/en-us/library/ms735114(v=vs.110).aspx
Creating a WCF Restful service, concurrency issues

【讨论】:

  • 感谢 Seymour 提供的宝贵信息
猜你喜欢
  • 1970-01-01
  • 2012-06-12
  • 1970-01-01
  • 2023-03-07
  • 1970-01-01
  • 1970-01-01
  • 2016-04-02
  • 1970-01-01
  • 2012-10-18
相关资源
最近更新 更多