ASP.NET,WCF:使用本地Windows服务中托管的WCF服务的ASP.NET应用程序

时间:2010-01-20 17:25:08

标签: asp.net wcf windows-services

我有一台由机器A上的Windows服务本地托管的WCF服务。

我在机器B上的IIS中托管了一个ASP.NET应用程序。

我的问题是,如果我通过机器A上的浏览器运行ASP.NET应用程序,它是否能够使用本地WCF服务?

2 个答案:

答案 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>下的任何其他小节(如行为,扩展等)。