我已经提供了一个代码库,其中一个WCF服务托管在IIS中。该项目使用开发服务器,但这无关紧要。 web.config文件仅包含以下服务配置部分:
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
.svc文件包含以下内容:
<%@ ServiceHost Language="C#" Debug="true" Service="TestApp.MySvcClass" CodeBehind="MySvcClass.svc.cs" %>
MySvcClass实现合同(ISvcContract)。 问题是,在.NET 4下,这种配置有效。在任何地方都没有声明在合同和服务类型之间建立链接,没有任何东西将行为链接到服务类型,没有终点声明,但它仍然有效。 使用.net 3.5,它没有。它抱怨配置。
WCF服务项目配置的默认行为是什么? 它在哪里记录? 我可以强制这些类型的设置失败吗?
我没有时间进行测试,但是如果我添加另一个svc文件,项目可能会变得疯狂,因为对于单个服务来说可能会神奇地落到实处,但我宁愿没有在一个服务中处理配置聪明的方式。
答案 0 :(得分:0)
A Developer's Introduction to Windows Communication Foundation 4
阅读简化配置部分。它列出了默认端点,协议,绑定等。