我有一个WCF服务托管ASP.NET应用程序消耗WCF服务在本地运行一个Windows服务在机器A.托管ASP.NET,WCF:在本地窗口服务
我有一个ASP.NET应用程序托管在机器B上的IIS中。
我的问题是,如果我通过机器A上的浏览器运行ASP.NET应用程序,它是否能够使用本地WCF服务?
我有一个WCF服务托管ASP.NET应用程序消耗WCF服务在本地运行一个Windows服务在机器A.托管ASP.NET,WCF:在本地窗口服务
我有一个ASP.NET应用程序托管在机器B上的IIS中。
我的问题是,如果我通过机器A上的浏览器运行ASP.NET应用程序,它是否能够使用本地WCF服务?
是的,只要您的配置有效,使用服务的服务器在哪里并不重要。
是的 - 客户端将都必须使用相同的配置 - 基本上需要指定“ABC的WCF” - 地址,绑定(可能绑定配置)和合同 - 在哪里,如何和什么是你的服务。
您可以使用此方法在服务器和客户端之间共享大量配置 - 特别是绑定配置:将配置的某些部分外部化。
在你的服务器上,有这样的事:
<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>
(如行为,扩展等)下的任何其他小节。
只要页面中使用的服务地址指向机器A,你应该没问题。
另一个问题,我们将不得不将WCF配置存储在web.config中,这是否意味着所有的Web客户端都必须共享相同的配置?目标是让许多客户端都使用此设置运行。我只是不太清楚如何处理这种情况下的配置。 – Andrew 2010-01-20 17:32:15
您可以在web.config文件中存储多个绑定等。 – taylonr 2010-01-20 20:41:17