我正处于实现WCF服务的过程中,该服务一次将被多个请求击中。获得请求后,WCF服务将打开一个excel文件,使用Interop读取数据,并将该请求与从excel文件读取的数据一起发送回服务器。在不使用WCF的当前系统中,打开和读取文件需要2-5秒。我想使用每个调用机制,例如在WCF中创建。我的问题是,WCF中的每次调用机制将处理多少这样的请求。如果我一次有100个请求,那么能够对sustain.Your建议/想法进行调用的机制将非常有用。
提前谢谢。
发布于 2014-07-02 10:19:09
经过多次搜索我找到了答案..。
节流行为: WCF节流帮助您对并发调用、WCF实例和并发会话的数量设置上限。WCF提供了三种定义上限的方法: MaxConcurrentCalls、MaxConcurrentInstances和MaxConcurrentSessions。
MaxConcurrentCalls:限制可以由WCF服务实例处理的并发请求的数量。MaxConcurrentInstances:限制可以在给定时间分配的服务实例的数量。当它是PerCall服务时,这个值与并发调用的数量相匹配。对于PerSession服务,此值等于活动会话实例的数量。对于单个实例模式,此设置并不重要,因为只创建了一个实例。MaxConcurrentSessions:限制服务允许的活动会话数
以上三个设置都可以在servicebehaviors标记中定义,如下面的XML片段所示:
<serviceBehaviors>
<behavior name="serviceBehavior">
<serviceThrottling maxConcurrentCalls="16"
maxConcurrentInstances="2147483647" maxConcurrentSessions="10" />
发布于 2014-06-16 13:10:47
如果您在IIS上承载WCF服务,那么是的,IIS每秒可以处理100多个请求,这取决于WCF服务代码如何响应100个请求。
正如您提到的,您的服务读取excel文件,耗时2-5秒。如果您的execel文件不经常更新,则使用缓存来存储/检索数据。这将有助于增加您的响应时间。基于用户文件的缓存,所以当您的excel更新时,它会自动获得最新数据。
https://stackoverflow.com/questions/24244141
复制相似问题