2012-11-21 26 views
1

我已經選擇了一個我幾個月沒碰過的項目,我使用這個項目學習了WCF,當我在Visual Studio中運行它時,它打開了一個頁面,允許我獲取生成的WSDL,並且可以擊中該服務的代碼。這個WCF服務是如何工作的?

但是當我在看的Web.config旁邊有沒有信息有:

<?xml version="1.0"?> 
<configuration> 

<system.web> 
    <compilation debug="true" targetFramework="4.0" /> 
    </system.web> 
    <system.serviceModel> 
    <behaviors> 
     <serviceBehaviors> 
     <behavior> 
      <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment --> 
      <serviceMetadata httpGetEnabled="true"/> 
      <!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information --> 
      <serviceDebug includeExceptionDetailInFaults="true"/> 
     </behavior> 
     </serviceBehaviors> 
    </behaviors> 
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" /> 
    </system.serviceModel> 
<system.webServer> 
    <modules runAllManagedModulesForAllRequests="true"/> 
    </system.webServer> 
</configuration> 

沒有服務端點或任何東西,但它(至少在Visual Studio)運行正常,這是怎麼加工?

+0

您可以在代碼中或通過配置文件配置WCF。你是否真的在代碼中配置你的服務? – Chris

+0

不,沒有配置,只有一個.svc文件,裏面有3個方法。 –

+0

在這種情況下@vcsjones是正確的,你運行WCF的默認值。 – Chris

回答

2

WCF 3.x的其中一個問題是配置非常繁重,即使對於最瑣碎的服務來說,正確配置也很困難。 WCF 4引入了"Simplified Configuration" feature,因此幾乎不需要零配置,但需要靈活性。你仍然可以使用你想要的所有配置,這只是可選的。

更多的細節on MSDN blogs

所以在WCF 4.0,可以無需在WCF配置中添加任何東西創建一個WCF服務。 WCF基礎結構將小心地爲您的服務創建默認端點(以及默認綁定和默認行爲)。

+0

是否有一種簡單的方法將基本HTTP安全性添加到上述web.config中,還是必須實例化整個服務?我有一個不同的web.config與綁定,但我不知道我怎麼能說它正在使用。 –

+0

@OmarKooheji整個簡化配置對我來說有點神祕。通常,只要我需要進行任何自定義配置,我都會添加* all *配置,端點和全部。 – vcsjones