问题:添加服务引用时 - >选择地址http://localhost:8000 - >按GO
下载'http:// localhost:8000'时出错 无法连接到远程服务器
由于目标机器主动拒绝它,因此无法建立连接127.0.0.1:8000
元数据包含无法解析的引用:'http:// localhost:8000 /'。
在http://localhost:8000/没有可以接受的端点监听 消息。
这通常是由不正确的地址或SOAP操作引起的 有关详细信息,请参阅InnerException(如果存在) 无法连接到远程服务器
由于目标机器是主动的,因此无法建立连接 拒绝它127.0.0.1:8000
如果在当前解决方案中定义了服务, 尝试构建解决方案并再次添加服务引用。
服务合同:
[ServiceContract(Namespace="http://www.thatindigogirl/2011/12")]
public interface IHelloIndigo
{
[OperationContract]
void DoWork();
}
服务:
public class HelloIndigo : IHelloIndigo
{
public void DoWork()
{
throw new NotImplementedException();
}
}
主持人的app.config
:
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="serviceBehavior">
<serviceMetadata httpGetEnabled="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="serviceBehavior" name="HelloIndigo">
<host>
<baseAddresses>
<add baseAddress="http://localhost:8000" />
</baseAddresses>
</host>
<endpoint address="HelloIndigoService" binding="basicHttpBinding"
name="basicHttp" contract="Host.IHelloIndigo" />
<endpoint binding="mexHttpBinding" name="mex"
contract="IMetadataExchange" />
</service>
</services>
</system.serviceModel>
知道为什么客户端项目无法找到主机端点来检索元数据吗?
提前致谢。
答案 0 :(得分:0)
这可能是服务没有运行。
也可能是端口8000被阻止了。
编辑:
根据您的评论,发现在同一解决方案中不起作用:这意味着项目类型出现问题。
要创建新的WCF项目,添加所需的服务,然后复制现有代码。
答案 1 :(得分:0)
答案 2 :(得分:0)
在修改现有的网络odata服务,然后尝试在Silverlight项目中建立对修改后的服务的新服务引用时,我遇到了同样的问题。通过临时注释掉web.config文件中的身份验证和授权部分,我能够连接到数据服务并将数据库中的元数据下载到我的Silverlight项目中。里克莫尔顿
答案 3 :(得分:-3)
我试图做同样的事情,添加服务引用只是为了遇到连接错误,因为当前服务没有运行。
为了解决此问题,您需要打开两个Visual Studio实例并使用一个首先打开“添加服务引用”菜单。打开菜单后,在其他Visual Studio中调试应用程序,以便服务正在运行。
当服务正在运行时,请在“添加服务引用”菜单中输入地址,它将找到您的URL侦听服务。只有这样,您才能选择要参考的界面或类。
完成后,您可以停止调试,更改将生效。您可能会收到一条警告,指出您的项目已在编辑器外修改,只需单击“确定”即可。