gpt4 book ai didi

.net - WCF IParameterInspector + IErrorHandler

转载 作者:行者123 更新时间:2023-12-05 01:24:16 24 4
gpt4 key购买 nike

如果我同时拥有 IParameterInspectorIErrorHandler我可以确定附加到服务上吗IErrorHandler.HandleError()将在 IParameterInspector.BeforeCall() 所在的同一线程上调用叫什么?

我需要这个,因为在抛出错误的情况下 IParameterInspector.AfterCall()从未被调用,并且没有办法(据我所知)我可以获得在 BeforeCall() 中创建的相关状态对象。所以我希望通过在我的接口(interface)实现中有一个 ThreadStatic 字段来克服这个问题:(

最佳答案

您可能想要使用实例上下文扩展。

InstanceContextExtension: IExtension<InstanceContext>   
OperationContext.Current.InstanceContext.Extensions.Find<InstanceContextExtension>()

可以在BeforeCall 方法中添加实例上下文扩展。然后可以在 AfterCall 方法中检索并使用实例上下文扩展。任何特定于操作的数据都可以放在这个扩展对象中,而不是引入线程关联。

关于.net - WCF IParameterInspector + IErrorHandler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12892055/

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