我需要升级我们的Web服务以使用WCF而不是ASMX。如果Web服务的签名保持不变,那么已经调用ASMX服务的现有客户端是否必须更改任何内容?反正仍然使用WCF但不强迫他们改变任何东西吗?
答案 0 :(得分:12)
选项1:
抓取生成的界面并基于此界面创建WCF服务
输出:使用basicHttpBinding配置的一个新WCF端点。客户需要更新他们发送消息的URL。
选项2:
创建WCF服务并使用重构DLL中的逻辑。
输出:2个端点,一个用于ASMX,另一个用于WCF
答案 1 :(得分:8)
如果您使用BasicHttpBinding
作为新的WCF服务,并使用相同的消息结构实现相同的方法,那么现有的调用者应该能够调用这个新的WCF服务而不需要对其进行任何更改。
还有一个AspNetCompatibilityRequirements
属性可以解决一些潜在的兼容性问题 - 请参阅上面的MSDN documentation。
马克