2009-03-04 94 views
1

我在編程WCF服務手冊中查看流式傳輸,並且發現了一條關於配置的行。WCF綁定配置在哪裏?

您將需要配置

那麼,什麼是這個需要每流模式的客戶端或服務端(或兩者)的結合? 我怎麼知道我應該在哪裏配置它們? 這是WCF常見的事情嗎? 似乎有點怪我。

回答

2

下面是如何在你的web/app.config中配置WCF服務很基本的例子:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <system.serviceModel> 
     <services> 
      <service name="MyServiceTypes.MyService" > 
       <endpoint address="http://localhost:55555/MyService" 
          binding="basicHttpBinding" 
          contract="MyServiceTypes.IMyService" /> 
      </service> 
     </services> 
    </system.serviceModel> 
</configuration> 

在客戶端,您要使用完全相同的端點設置,如下所示:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <system.serviceModel> 
     <client> 
      <endpoint address="http://localhost:55555/MyService" 
         binding="basicHttpBinding" 
         contract="MyServiceTypes.IMyService" /> 
     </client> 
    </system.serviceModel> 
</configuration> 

有很多方法可以通過添加bindingConfiguration部分和類似的東西來自定義綁定等。綁定配置可能是您配置流模式的地方。

通常情況下,您的合同界面是最佳做法;您的服務和客戶端實施;和DataContract類型(您的數據傳輸對象)放在單獨的DLL中(如果可以的話)。如果您無法控制合同(例如,您正在訪問不受控制的計算機上的服務),則生成客戶端代碼的簡單方法是使用Visual Studio中的「添加服務參考」,或者svcutil工具。我比添加服務引用更喜歡svcutil,因爲它使您更容易控制生成的代碼在項目中的結束位置。