2010-01-20 43 views
0

我有一個WCF服務託管ASP.NET應用程序消耗WCF服務在本地運行一個Windows服務在機器A.託管ASP.NET,WCF:在本地窗口服務

我有一個ASP.NET應用程序託管在機器B上的IIS中。

我的問題是,如果我通過機器A上的瀏覽器運行ASP.NET應用程序,它是否能夠使用本地WCF服務?

回答

1

是的,只要您的配置有效,使用服務的服務器在哪裏並不重要。

是的 - 客戶端將都必須使用相同的配置 - 基本上需要指定「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>(如行爲,擴展等)下的任何其他小節。

2

只要頁面中使用的服務地址指向機器A,你應該沒問題。

+0

另一個問題,我們將不得不將WCF配置存儲在web.config中,這是否意味着所有的Web客戶端都必須共享相同的配置?目標是讓許多客戶端都使用此設置運行。我只是不太清楚如何處理這種情況下的配置。 – Andrew 2010-01-20 17:32:15

+0

您可以在web.config文件中存儲多個綁定等。 – taylonr 2010-01-20 20:41:17