我有一個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