我正在尝试在NetFX Harmonics: Creating Streamlined, Simplified, yet Scalable WCF Connectivity
处实现可扩展的wcf解决方案所以我的解决方案有4个项目
Contact.ServiceClient有App.config和Program.cs实际上调用服务。
的App.config
<configuration>
<appSettings>
<add key="PersonServiceActiveEndpoint" value="PersonServiceBasicHttpBinding" />
</appSettings>
<system.serviceModel>
<client>
<endpoint name="PersonServiceBasicHttpBinding"
address="http://localhost:1031/Person.svc"
binding="basicHttpBinding"
contract="Contact.Service.IPersonService" />
</client>
</system.serviceModel>
</configuration>
Program.cs的
BasicHttpBinding basicHttpBinding = new BasicHttpBinding();
EndpointAddress endpointAddress = new EndpointAddress("http://localhost:1031/Person.svc");
IPersonService personService = new ChannelFactory<IPersonService>(basicHttpBinding, endpointAddress).CreateChannel();
Person person = personService.GetPersonData("F488D20B-FC27-4631-9FB9-83AF616AB5A6");
Console.WriteLine(person.FirstName);
当我尝试运行此示例时抛出异常:
http://localhost:1031/Person.svc没有可以接受该消息的端点。这通常是由错误的地址或SOAP操作引起的。
P.S。 Person.svc在我的Contact.ServiceHost项目中
<%@ ServiceHost Service="Contact.Service.PersonService" %>
答案 0 :(得分:0)
服务主机的配置是什么?听起来像是两个问题之一:
我想通过检查服务主机项目的web.config,您可能会发现它正在侦听不同的端口,或者根本没有运行,因此无法监听。
Visual Studio主机是否启动并托管服务?你通常会得到一点吐司面包#39;在时钟旁边的通知区域中弹出窗口,说明主机正在运行,您可以看到它正在运行的端口。如果没有发生这种情况,那么您可能需要将其配置为启动主机项目以及客户端。
要使客户端和服务器同时启动,您需要: