我目前正在开发一个将在Windows Server 2008上的IIS7中运行的Web服务应用程序项目。将从服务器外部的各种客户端调用Web服务,但也可以从同一服务器内的其他组件调用Web服务。 (其他Web服务和Windows服务)
我的观点是,Web服务的目的是公开功能,以便外部客户端可以调用它。我真的没有看到在同一服务器上调用另一个Web服务的Web服务或在同一服务器上调用Web服务的Windows服务。如果我错了,请纠正我?
我已经开始研究WCF,但我很困惑。
执行以下操作会更合适吗?
我的方法是正确的还是我过于复杂?
任何能够指出正确方向的建议或链接都会受到赞赏。
由于
答案 0 :(得分:1)
调用其他网络服务的网络服务?
如果他们有不同的责任,我认为将它们分开是个好主意。您可以更好地分离关注点(更容易与其他项目/代码库共享),更易于维护和独立部署。
我会使用WCF并为不同的消费者提供两个不同的端点,例如使用net.pipe在同一服务器上进行通信(如果客户端支持)和http用于外部客户端。
我认为WCF为旧的xml Web服务提供了更多的功能和灵活性,配置部分非常好。
答案 1 :(得分:1)
BasicHttpBinding将为您提供与外部客户端的最大互操作性。 当两个服务托管在同一台机器上时,命名管道将为您提供最佳效率。
BasicHttpBinding就像旧的asmx& XML Web服务。
公开两个端点是AOK!
调用另一项服务的一项服务并不罕见。
在同一台计算机上托管多项服务很常见。在企业中,运行多个SQL-Server实例是司空见惯的。当然这取决于硬件,服务和响应时间。