使用服务引用
我有这个:
using (OperationContextScope scope = new OperationContextScope(client.InnerChannel)) {
OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = httpDetails;
return predicate(client);
}
我想知道如何使用网络引用而不是服务引用执行相同的操作。使用网络引用时,InnerChannel
属性不存在。
有办法做到这一点吗?
最佳答案
如果“Web 引用”是指对基于 ASMX 的 Web 服务的引用,则无法完成此操作。 “服务引用”在您的客户端应用程序中创建一个基于 WCF 的代理到服务。 “Web 引用”使用旧的 .NET 1.1 天 XML Web 服务框架 (ASMX) 创建服务代理。 OperationContextScope
仅适用于 WCF 客户端。
修复方法是创建相关服务的“服务引用”而不是“Web 引用”。这样,这两个服务的代理都将基于 WCF,并且您可以对这两个服务使用 OperationContextScope
。 WCF 向后兼容任何基于 ASMX 的服务。
关于c# - 带有 Web 引用的 OperationContextScope,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14582677/