gpt4 book ai didi

c# - WCF 中的调用上下文

转载 作者:太空狗 更新时间:2023-10-29 20:22:23 24 4
gpt4 key购买 nike

当请求到达 WCF 服务时使用 CallContext 是安全的,用一些调用特定的数据初始化它(例如在调用开始时使用钩子(Hook):Inspector/ContextBoundObject),然后在调用中重用它,并得到保证我访问的数据始终是相同的数据?

谢谢,帕维尔

最佳答案

如果您没有从检查员那里使用它,那么它应该是安全的,但是如果您没有使用远程处理或跨越 AppDomain 边界,那么使用线程静态字段可能更简单。放一个 ThreadStaticAttribute在静态字段上,它将是每个线程中的单独存储位置。

如果您尝试在 IDispatchMessageInspector 中设置值,例如,那么它将不起作用,因为它们将在与请求不同的线程中运行。看看OperationContext ,它将提供有关 WCF 请求的特定于调用的信息。您可以通过实现 IExtension<OperationContext> 向其添加可以存储自定义数据的扩展。并将它们添加到 Extensions 属性中。 Here is a blog post描述了如何将自定义数据添加到 OperationContext。

关于c# - WCF 中的调用上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3116289/

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