在VS2013中,我已将服务引用而非Web引用添加到现有的旧版ASMX Web服务中。
这是否以某种方式为此引用提供了实现可靠消息传递等WCF功能或WCF的任何其他新功能的能力?
我已经完成了一些阅读,我认为至少对于Reliable Messaging我们并没有神奇地获得这种能力,因为据我所知,这个功能必须同时在“客户端”和“服务器”端启用,即两者都是端点,当然还有旧的ASMX Web服务,本例中的服务器,不支持Reliable Messaging标准,即使我以某种方式配置“客户端”也是如此。
常驻开发人员告诉我将这些旧的ASMX Web服务添加为服务参考,因为它能够执行异步调用和“一些”其他配置优势,但我对此不太了解现在看了。
答案 0 :(得分:0)
您需要的是适配器模式。我看待它的方式更多来自设计模式而不是WCF。
[ServiceContract]
public interface IService
{
[OperationContract]
string SayHello(string toWhom);
}
public class Service : IService
{
public string SayHello(string toWhom)
{
// consume the ASMX service here and return the result.
}
}
在绑定中,您可以使用ASMX中缺少的功能。
<bindings>
<wsHttpBinding>
<binding>
<reliableSession/>
<security>
<message />
</security>
</binding>
</wsHttpBinding>
</bindings>