WebService WCF-无法获取元数据

时间:2018-10-26 10:56:55

标签: c# wcf

我有一个WCF服务,它可以在localhost上运行,但是当发布到IIS服务器时,我再也无法访问它的方法了,错误消息是

  

“此程序集不允许部分受信任的呼叫者”

然后,我将以下内容添加到Web.config文件中:

<trust level="Full" originUrl=""/>

现在,我收到此错误消息:

  

无法从http://wheremyserviceispublished.net/Service.svc获取元数据   如果这是您要使用的Windows(R)Communication Foundation服务   有权访问,请检查是否已在以下位置启用了元数据发布   指定的地址。

有人知道如何解决这些问题吗?

1 个答案:

答案 0 :(得分:0)

如果您在IIS中发布wcf服务,则默认配置已公开了元数据信息。

<!-- To avoid disclosing metadata information, set the values below to false before deployment -->
      <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>

您还可以在httpGetUrl属性中分配元数据地址。 如果要在端点配置上公开元数据信息。尝试遵循这个。

<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"></endpoint>

  <behaviors>
      <serviceBehaviors>
        <behavior name="svbehavior">
          <serviceMetadata />
        </behavior>
      </serviceBehaviors>

然后在终端上应用该行为,以使其生效。

<service name="WcfService4.Service1" behaviorConfiguration="svbehavior">

如果问题仍然存在,请随时与我联系。