客户端无法连接到在没有基地址的情况下启动的自托管WCF服务

客户端无法连接到在没有基地址的情况下启动的自托管WCF服务,wcf,wcf-client,Wcf,Wcf Client,我创建了一个服务,但没有在servicehost构造函数中提供基址。 并通过调用AddServiceEndpoint方法将端点添加到主机。在AddServiceEndpoint方法中,我提供了服务的完整地址。在客户端代理上,调用失败,出现异常,原因是“没有侦听可以接受消息的终结点。这通常是由于地址或SOAP操作不正确造成的。有关详细信息,请参阅InnerException(如果存在)。” 下面是ServiceHost和客户端代理的示例代码 using (ServiceHost host = ne

我创建了一个服务,但没有在servicehost构造函数中提供基址。 并通过调用AddServiceEndpoint方法将端点添加到主机。在AddServiceEndpoint方法中,我提供了服务的完整地址。在客户端代理上,调用失败,出现异常,原因是“没有侦听可以接受消息的终结点。这通常是由于地址或SOAP操作不正确造成的。有关详细信息,请参阅InnerException(如果存在)。” 下面是ServiceHost和客户端代理的示例代码

using (ServiceHost host = new ServiceHost(typeof(Test.TestService)))
{
    host.AddServiceEndpoint(typeof(Test.ITestService),
    new BasicHttpBinding(), "http://localhost:8000/Test/TestService");
    Console.ReadLine();
    host.Close();
}
客户端代理:

EndpointAddress ep = new EndpointAddress("http://localhost:8000/Test/TestService");
ITestService proxy = ChannelFactory<ITestService>.CreateChannel(new BasicHttpBinding(), ep);
string s = proxy.HelloWorld();
有人能回答这里出了什么问题吗? : 我的经营合同如下:

[ServiceContract]public interface ITestService
{
    [OperationContract]
    string HelloWorld();
}
public class TestService: ITestService
{
    public string HelloWorld()
    {
        return "Hello World";
    }

}
问题是我没有使用任何配置文件,当在servicehost构造函数中提供基址时,一切正常,但当我没有在servicehost构造函数中提供基址并在AddServicepoint方法中提供完整uri时,会出现异常。

因为您从未调用

host.Open()

在问题中显示的任何一个代码片段中,我都不希望它们都能工作


您确定您发布的代码与导致问题的代码完全相同吗?

回答了我的问题。在第二种方法中,我没有调用host.open,这就是异常出现的原因。谢谢。
[ServiceContract]public interface ITestService
{
    [OperationContract]
    string HelloWorld();
}
public class TestService: ITestService
{
    public string HelloWorld()
    {
        return "Hello World";
    }

}