在Visual WebExpress 2010中为WCF服务设置BasicHTTPBinding

时间:2011-10-09 08:21:45

标签: wcf .net-4.0

我正在使用Visual Web Developer Express 2010创建一个WCF服务。我想尝试各种用于教育目的的绑定。

我2008年的记忆是web.config自动包含了<services>的一个部分,然后我将编辑该部分以更改端点绑定,例如更改为basicHttpBinding

但是我的自动生成的2010服务不包括<services>以及<system.serviceModel>下的任何子端点或绑定详细信息(请参阅下面的web.config)。我是否需要手动将此元素添加到Web.config中,还是有另一种方法可以配置它?或者这是Express版本的限制吗?

<?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="false"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
  </system.serviceModel>
 <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
  </system.webServer>

</configuration>

更新1 - 我发现以下链接似乎描述了相同的行为 - 立即调查:http://forums.silverlight.net/t/166429.aspx/1

2 个答案:

答案 0 :(得分:3)

Visual Studio的版本在这里并不重要 - 它是导致您混淆的.NET框架的版本。在.NET 4.0中,存在默认的WCF设置,这意味着可以在没有任何配置的情况下托管服务。

MSDN Introduction to WCF 4会解释更多内容。

如果您将项目创建为.NET 3.5项目,则需要进行配置(并在添加新的WCF服务时添加)。

可以在.NET 4.0中添加配置,但是如果你是WCF的新用户,如果它是自动生成的,那么你可以更容易地开始工作。

答案 1 :(得分:2)

如果未定义WCF 4,WCF 4似乎会创建默认终点。来自http://msdn.microsoft.com/en-us/library/ee354381.aspx

  

为了使整个WCF体验像ASMX一样简单,   WCF 4完全带有一个新的“默认配置”模型   无需任何WCF配置。如果你不提供任何   特定服务的WCF配置,即WCF 4运行时   使用一些标准端点自动配置您的服务   默认绑定/行为配置。这使得它更容易   启动并运行WCF服务,尤其是那些不支持的服务   熟悉各种WCF配置选项并很乐意   接受默认值,至少开始使用。