gpt4 book ai didi

c# - ConcurrencyMode.Multiple 和 WebOperationContext.Current 静态属性

转载 作者:太空宇宙 更新时间:2023-11-03 11:35:05 25 4
gpt4 key购买 nike

我有一个带有 ConcurrencyMode = ConcurrencyMode.Multiple 选项的 WCF 服务。考虑到服务请求是并发处理的事实,我可以安全地读取传入请求 HTTP header 并设置传出响应吗?我怀疑是因为 WebOperationContext.Current 是一个全局状态。它会检查当前线程吗?

最佳答案

ConcurrencyMode.Multiple 仅当您具有允许共享服务实例的实例化时才有意义。在 REST 服务的情况下,您很可能没有这样的实例化(除非您使用的是单例服务)并且您不应该有这样的实例化(因为 REST 服务不维护状态 - 所有状态都在请求中传输)。

REST 服务使用每个请求实例化,每个请求都由一个新线程(来自线程池)和服务类的新实例自动提供服务。您根本不需要此设置。

WebOperationContext.Current 从上下文中的私有(private)线程静态变量中检索当前上下文,因此它不会在线程之间共享。

关于c# - ConcurrencyMode.Multiple 和 WebOperationContext.Current 静态属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6531753/

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