IIS10上托管的WCF服务。可以浏览.svc文件,但不显示wsdl

时间:2018-10-29 19:40:54

标签: vb.net wcf iis wsdl

我有一个托管在IIS上的测试WCF服务。我向默认网站添加了一个新应用程序,并使用默认应用程序池托管了我的测试服务。
我能够从IIS的内容视图中浏览.svc文件,并且成功页面以及wsdl的链接在Windows IE上打开。但是,单击wsdl链接时,将引发HTTP 404(未找到)错误。(我的本地主机上的所有内容都在内部访问)
我已经添加了元数据端点,这是我的web.config文件的相关部分。

 <system.serviceModel>
    <behaviors>
        <serviceBehaviors>
            <behavior name="mexBehaviour">
                <serviceMetadata httpGetEnabled="true" />
              <serviceDebug includeExceptionDetailInFaults="true" />
            </behavior>
        </serviceBehaviors>
    </behaviors>

    <services>
        <service behaviorConfiguration="mexBehaviour" name="ClassLibrary1.HelloWorldService">
            <endpoint address="HelloService" binding="basicHttpBinding" bindingConfiguration=""
                contract="ClassLibrary1.IHelloWorldService" />
           <endpoint address="mex" 
              binding="mexHttpBinding" 
              contract="IMetadataExchange" /> 
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:17000"/>
          </baseAddresses>
        </host>
        </service>
    </services>
</system.serviceModel>

有人可以指导我有关我可能会失踪的内容吗?可能是权限问题还是其他问题?

谢谢。

1 个答案:

答案 0 :(得分:0)

无需将基本地址添加到将由IIS Web服务器提供的服务合同中。
默认的wcf应用程序配置启用了服务元数据,我们可以通过svc页面访问元数据,或者我们直接使用以下网址。

  

http://localhost:90/Service1.svc?wsdl

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