.net 本地WCF客户端-服务器连接:没有服务正在侦听的消息
两年后,我将重新开始实施WCF服务。对于初学者,我想配置一个超级简单、无配置文件的服务。我有下面的服务器代码。当我使用svcutil创建代理时,一切正常。但是,当我尝试自己使用ChannelFactory实现客户机时,我总是被没有服务正在侦听的消息所困扰。。。。错在哪里 客户 主持人.net 本地WCF客户端-服务器连接:没有服务正在侦听的消息,.net,wcf,wcf-4,.net,Wcf,Wcf 4,两年后,我将重新开始实施WCF服务。对于初学者,我想配置一个超级简单、无配置文件的服务。我有下面的服务器代码。当我使用svcutil创建代理时,一切正常。但是,当我尝试自己使用ChannelFactory实现客户机时,我总是被没有服务正在侦听的消息所困扰。。。。错在哪里 客户 主持人 传递给ChannelFactory的构造函数的端点地址不正确。服务基址为,而您在主机中添加的端点的相对地址为OnlineLicenceCommunicator,因此端点地址为 传递给ChannelFactory的构
传递给
ChannelFactory
的构造函数的端点地址不正确。服务基址为,而您在主机中添加的端点的相对地址为OnlineLicenceCommunicator
,因此端点地址为
传递给
ChannelFactory
的构造函数的端点地址不正确。服务基址为,而您在主机中添加的端点的相对地址为OnlineLicenceCommunicator
,因此端点地址为
像往常一样,你谦逊、感激的仆人!像往常一样,你谦逊、感激的仆人!
Module OnlineLicenceClientConsole
Sub Main()
Console.WriteLine("Press enter to connect...")
Console.ReadLine()
Dim factory As New ChannelFactory(Of IOnlineLicenceCommunication)(New BasicHttpBinding)
Dim address As New EndpointAddress("http://localhost:8015/Onlinelicence")
Dim client = factory.CreateChannel(address)
Console.WriteLine("Client running...")
Do While (True)
Dim computerID = Console.ReadLine()
Dim request = New LicenceRequest With {.ComputerID = computerID, .CustomerID = "X", .ServiceID = "Y"}
Console.WriteLine(client.GetLicence(request).StatusMessage)
Loop
End Sub
End Module
Module OnlineLicenceServerConsole
Sub Main()
Dim baseAddress As New Uri("http://localhost:8015/OnlineLicence")
Dim host = New ServiceHost(GetType(OnLineLicenceCommunicator), baseAddress)
Dim serviceBehavior As New ServiceMetadataBehavior With {.HttpGetEnabled = True}
host.Description.Behaviors.Add(serviceBehavior)
host.AddServiceEndpoint(
GetType(IOnlineLicenceCommunication),
New BasicHttpBinding,
"OnlineLicenceCommunicator")
Try
host.Open()
Console.WriteLine("Service running")
Console.ReadLine()
Catch e As CommunicationException
Console.WriteLine("Fout: {0}", e.Message)
Console.ReadLine()
host.Abort()
Finally
host.Close()
End Try
End Sub
End Module
Dim factory As New ChannelFactory(Of IOnlineLicenceCommunication)(New BasicHttpBinding)
Dim address As New EndpointAddress("http://localhost:8015/Onlinelicence/OnlineLicenceCommunicator")
Dim client = factory.CreateChannel(address)