我正在使用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
答案 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配置选项并很乐意 接受默认值,至少开始使用。