我正在编写一个WCF服务,试用.NET 4.0中引入的无文件激活。我正在尝试让服务返回WSDL,虽然我以非常基本的方式配置了web.config,但我无法让服务发出WSDL。 ?wsdl和?singlewsdl只返回正常的服务页面而不是WSDL。
我正在使用.NET 4.5
<configuration>
<appSettings>
<add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
</appSettings>
<system.web>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>
<system.serviceModel>
<services>
<service name="ods">
<endpoint address="localhost" binding="basicHttpBinding"
contract="co.ods" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true"><!--aspNetCompatibilityEnabled="true"-->
<serviceActivations>
<add relativeAddress="ods.svc" service="co.ods" />
</serviceActivations>
</serviceHostingEnvironment>
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
<directoryBrowse enabled="true" />
</system.webServer>
</configuration>
我认为配置存在问题,但我似乎无法找到它。
答案 0 :(得分:0)
我发现了这个问题 - 我的界面上没有ServiceContract
,我没有将方法定义为OperationContract
项。简单的错误。我不想删除帖子来帮助那些犯同样错误的人。