无法在wcf应用程序中添加服务引用

时间:2011-12-02 20:33:36

标签: c# wcf configuration

问题:添加服务引用时 - >选择地址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>
  • 此解决方案从vs2008重建为vs2010我在项目客户端和主机中将框架更改为4.0。
  • 配置由wcf配置向导完成。

知道为什么客户端项目无法找到主机端点来检索元数据吗?

提前致谢。

4 个答案:

答案 0 :(得分:0)

这可能是服务没有运行。

也可能是端口8000被阻止了。

编辑:

根据您的评论,发现在同一解决方案中不起作用:这意味着项目类型出现问题。

要创建新的WCF项目,添加所需的服务,然后复制现有代码。

答案 1 :(得分:0)

答案 2 :(得分:0)

在修改现有的网络odata服务,然后尝试在Silverlight项目中建立对修改后的服务的新服务引用时,我遇到了同样的问题。通过临时注释掉web.config文件中的身份验证和授权部分,我能够连接到数据服务并将数据库中的元数据下载到我的Silverlight项目中。里克莫尔顿

答案 3 :(得分:-3)

我试图做同样的事情,添加服务引用只是为了遇到连接错误,因为当前服务没有运行。

为了解决此问题,您需要打开两个Visual Studio实例并使用一个首先打开“添加服务引用”菜单。打开菜单后,在其他Visual Studio中调试应用程序,以便服务正在运行。

当服务正在运行时,请在“添加服务引用”菜单中输入地址,它将找到您的URL侦听服务。只有这样,您才能选择要参考的界面或类。

完成后,您可以停止调试,更改将生效。您可能会收到一条警告,指出您的项目已在编辑器外修改,只需单击“确定”即可。