我可以在任何 .NET 客户端中使用 OperationContextScope 吗?

Can I use OperationContextScope in any .NET client?

我正在探索在从 .NET 客户端调用基于 java 的服务时将 soap headers 注入外发消息。

我发现 OperationContextScope 最适合我的要求,如下所示,并且在初始测试中运行良好。我想确保我没有做任何错误,因为我的应用程序是 .NET 控制台批处理。在 .NET 控制台应用程序的上下文中使用此 class 会有任何问题吗?

我通过传递 wsdl 和 xsd 使用 SVCUITIL 创建了 JAVA 服务的代理。

using (var client = new GetXXXXDetailsServiceClient())
                    {
                        using (new OperationContextScope(client.InnerChannel))
                        {
                            var customerHeader = new Headers(SamlAssertion.InnerXml.ToString());
                            OperationContext.Current.OutgoingMessageHeaders.Add(customerHeader);
                            var res = client.GetXXXXDetails();

                        }
                    }

似乎我们可以在任何地方使用这个 OperationContextScope 作为我的应用程序 运行 在开发环境中很好。