gpt4 book ai didi

WCF 命名管道服务设置

转载 作者:行者123 更新时间:2023-12-01 11:08:59 25 4
gpt4 key购买 nike

在使用命名管道时是否值得使用 ConcurrencyMode.Multiple 和 InstanceContextMode.Single 属性设置服务以节省一些性能?

我的意思是,当我这样做时,我不得不为多线程问题烦恼。

最佳答案

我自动将 ConcurrencyMode.Multiple 用于我的 WCF 服务,因为我通常希望一个服务能够同时处理多个请求。对我来说,这似乎是服务最直观的行为(即:如果我调用 Web 服务并且必须等待 10 个来自其他用户的未完成请求才被处理,这会很奇怪)。

使用 ConcurrencyMode.Single 强制服务一次处理一个请求(如果有多个请求,它们会排队)。这可能会减慢请求速度。

但这取决于每个请求做什么。简单的数学计算或字符串操作会非常快,以至于 WCF 的开销将成为您的主要瓶颈。如果您的服务查询或修改某种数据库,则执行数据库操作的时间很可能成为您的瓶颈。但是,如果数据库很小,或者您只希望有少量客户端,您可能永远不会注意到其中的区别。如果您从 5 个 Web 服务中提取数据并执行一些复杂的合并操作,这可能是个问题。

除非您知道您将有多个并发请求,否则请使用 ConcurrencyMode.Single 运行,直到无法满足某种客观性能标准。然后,您需要进行常规基准测试以确定您的服务的哪一部分最慢。加快速度。如果碰巧 ConcurrencyMode.Single 是慢位,请改为使用多个!

关于WCF 命名管道服务设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2287697/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com