2013-09-29 95 views
0

我正在經歷新的WCF 4.5功能http://msdn.microsoft.com/en-us/library/dd456789.aspx並嘗試簡化生成的配置文件。當我在4.0和4.5中生成配置文件時,它們都是相同的。他們沒有默認值。WCF簡化配置4.5新功能?

我失去了一些東西?

+0

根據該鏈路,這些值被髮射的配置文件中,只有當他們不等於默認值。你可以發佈一個4.0和4.5文件的例子,你認爲這些文件不會在行動中表現出來嗎? – Tim

+0

你可以編輯你的問題並在那裏發佈代碼。 – Tim

+0

我剛剛在4.0和4.5中創建了一個默認的WCF項目,並在控制檯應用程序中表示添加引用。我總是以如下方式結束。由於字符限制,無法發佈完整的代碼。 <端點地址= 「HTTP://本地主機:36275/Service1.svc」 結合= 「basicHttpBinding的」 bindingConfiguration = 「BasicHttpBinding_IService1」 合同= 「ServiceReference1.IService1」 名稱= 「BasicHttpBinding_IService1」/> –

回答

1

雖然我在4.0 vs 4.5上找不到任何東西特別是,但是您引用的鏈接首先顯示了一個配置文件3.0和4.5。

從4.0開始,引入了簡化的配置文件,其中包含默認綁定和默認端點的概念 - 這意味着您可以在4.0或4.5中創建開箱即用的WCF服務應用程序,並且不會有綁定或定義的端點 - 您可以通過查看4.0和4.5服務的web.config文件來驗證這一點。

當您添加服務引用,你最有可能使用的「http://」 URI - 默認情況下,「HTTP」映射到basicHttpBinding。因此,讓我們來看看你在評論中發表的片段:

<endpoint address="localhost:36275/Service1.svc" 
      binding="basicHttpBinding" 
      bindingConfiguration="BasicHttpBinding_IService1" 
      contract="ServiceReference1.IService1" 
      name="BasicHttpBinding_IService1" /> 

一切客戶需要與服務進行通信有 - 地址,綁定使用,綁定配置使用和合同。

如果您在客戶端配置文件,您應該看到以下還有:

<bindings> 
    <basicHttpBinding> 
    <binding name="BasicHttpBinding_IService1" /> 
    </basicHttpBinding> 
</bindings> 

其對應於端點的bindingConfiguration屬性指定的綁定。由於正在使用默認值,因此未指定綁定的其他屬性。

在3.0和3.5,裝訂部將不得不使用默認值指定綁定的所有屬性 - 在4.0和更高版本沒有。

您不會錯過任何東西 - 比文檔是有點誤導,因爲它意味着這是一個4.5的功能,當它實際上它是一個4.0和4.5的功能等。

+0

謝謝@tim我認爲這是一個4.0的功能,它剛剛在4.5中被強調(或者可能在市場上銷售)。 –