WCF无法添加服务到期 - 无法获取元数据

时间:2013-09-04 08:47:41

标签: .net wcf web-services

我有以下内容,

(在VS2012中)

PostCodes是我的解决方案,它是一个ASP.NET Web表单应用程序,我有两个服务,

Service1Service2

在我开始向IService2添加一些真实内容之前,一切正常。这个含义开始使构造函数和我现在从WCF测试客户端接收并发出错误(当我在Service2.svc.cs选项卡中运行时)

“无法添加服务。可能无法访问服务元数据。请确保您的服务正在运行并公开元数据。”

这是我的Web.Config

<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
 </system.web>
  <system.serviceModel>
 <behaviors>
  <serviceBehaviors>
    <behavior name="">
      <serviceMetadata httpGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="false" />
    </behavior>
  </serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />

    

现在我已经一次又一次地尝试允许我的WCF测试客户端通过将端点添加到web.config文件来获取元数据,如下所示

<services>   
  <service name="Service2" // 
           behaviorConfiguration="DefaultBehavior">
    <endpoint address=http://localhost/Service2
              binding="basicHttpBinding" 
              contract="IService2" />
    <endpoint address="http://localhost/Service2/mex"
              binding="mexHttpBinding" 
              contract="IMetadataExchange" />
  </service>
</services>

要clairfy我的解决方案叫做PostCodes,我有两个服务,Service1和Service2

以上操作无效,运行WCF测试客户端时仍然出现错误...

我没有在线运行这个或任何纯粹是通过测试客户端和本地机器运行的东西。

所以我的问题是 - 在添加这些终点时我做错了什么,我该如何修复它。

任何建议都会很棒,

如果需要,可以在下面发布任何说明

此致

1 个答案:

答案 0 :(得分:1)

我有理由,你不能在接口中定义构造函数,因为你无法实例化它们。这是一个相关的SO,以便您更好地理解

Interface defining a constructor signature?

解决:

总有一个实现该接口的类,您可以在同一个WCF服务项目中找到它。您将在WCF项目中的.svc文件中找到文件名后面的代码。无论您想在接口构造函数中添加什么,添加在类中定义的构造函数内部。

快乐编码:)