我正在尝试添加服务参考。
从地址下载元数据时出错
这是一次又一次显示的错误吗?
请帮忙
您可能还只需要构建/重建项目。
至少有4种可能:
在浏览器中尝试该 url 以查看它返回一个 wsdl
我也发生了同样的事情,我发现我忘记在我的 WCF 服务的接口上添加“服务合同”和“操作合同”注释
只需尝试无任何错误地构建项目并再次提供服务参考。
在 Web.config 文件中,我更改了:
<endpoint address="" binding="pollingDuplexHttpBinding"
contract="IAsyncTaskService"/>
对此:
<endpoint address="" binding="pollingDuplexHttpBinding"
contract="DuplexService.Web.IAsyncTaskService"/>
并删除了错误。泽尼
首先尝试重建项目,如果不能修复它,请尝试在 web.config 中将属性httpGetEnabled从 FALSE 更改为 TRUE。
<serviceBehaviors>
<behavior name="serviceBehavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
检查 IIS 是否提供服务 URL。就我而言,我更改了 Windows 密码,但忘记了 IIS 在应用程序和应用程序池中都使用了这些凭据。
我知道这是一个老歌,但我想我会添加对我有用的东西,这样我就可以在路上再次找到它;)
就我而言,AppPool 用户无权访问 %Windir%\temp,这显然是生成 MEX 数据所必需的。
在此线程中向 Amy Peng 大喊小费!
这种情况下的另一种可能性是没有端点监听。即,您尝试添加的服务未“启动”。我在尝试添加对我正在处理的 WCF 服务的引用时犯了这个错误,但我忘了打开它。
我遇到了这样的问题:添加服务引用失败,并显示“方法不允许”消息。
wsdl 在我的浏览器中运行良好..
原因是我将端点配置为监听http://0.0.0.0:6000/mex
,“添加服务引用”工具似乎不喜欢。将其更改为真实 IP 地址使其工作(例如http://127.0.0.1:6000/mex
)