我有一台由机器A上的Windows服务本地托管的WCF服务。
我在机器B上的IIS中托管了一个ASP.NET应用程序。
我的问题是,如果我通过机器A上的浏览器运行ASP.NET应用程序,它是否能够使用本地WCF服务?
答案 0 :(得分:2)
只要页面中使用的服务地址指向机器A,您应该没问题。
答案 1 :(得分:1)
是的,只要您的配置有效,服务在哪个服务器上的位置无关紧要。
是的 - 客户端都必须使用相同的配置 - 您基本上需要指定“WCF的ABC” - 地址,绑定(以及可能的绑定配置)和合同 - 服务的WHERE,HOW和WHAT
您可以使用以下方法在服务器和客户端之间共享大量配置(尤其是绑定配置):外部化配置的某些部分。
在您的服务器中,有类似的内容:
<system.serviceModel>
<bindings configSource="bindings.config" />
</system.serviceModel>
然后在bindings.config
文件中,定义:
<bindings>
<basicHttpBinding>
<binding name="BasicNoSecurity">
<security mode="None" />
</binding>
</basicHttpBinding>
</bindings>
这样,您可以将该文件bindings.config
复制到客户端,并从客户端的配置文件中引用它 - 共享相同的信息并确保它是相同的,并且最新的两端都是通信。
这也适用于<system.serviceModel>
下的任何其他小节(如行为,扩展等)。