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