1

我拿起了一个几个月没有碰过的项目我用这个项目来学习 WCF,当我在 Visual Studio 中运行它时,它会打开一个页面,允许我获取生成的 WSDL,我可以点击代码的服务。

但是当我查看 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 中),这是如何工作的?

4

1 回答 1

2

WCF 3.x 的痛点之一是配置起来非常繁重,而且很难正确配置,即使对于最微不足道的服务也是如此。WCF 4 引入了“简化配置”功能,因此几乎需要零配置,但以牺牲灵活性为代价。您仍然可以使用您想要的所有配置,此时它只是可选的。

更多细节在 MSDN 博客上

因此,在 WCF 4.0 中,无需在 WCF 配置中添加任何内容即可创建 WCF 服务。WCF 基础结构将负责为您的服务创建一个默认端点(以及默认绑定和默认行为)。

于 2012-11-21T15:44:59.990 回答