WCF无文件激活元数据

时间:2013-01-08 19:49:51

标签: .net wcf

我正在编写一个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>

我认为配置存在问题,但我似乎无法找到它。

1 个答案:

答案 0 :(得分:0)

我发现了这个问题 - 我的界面上没有ServiceContract,我没有将方法定义为OperationContract项。简单的错误。我不想删除帖子来帮助那些犯同样错误的人。