在解决方案中发现WCF服务

我有一个WCF服务的解决方案,工作正常。 我在解决方案中添加了一个小型控制台应用程序,需要在同一解决方案中为服务提供服务引用。 它发现服务但显然无法连接到它,因为服务没有运行。 在Visual Studio 2010中我如何在解决方案中运行服务,同时在同一解决方案中添加服务引用?

假设客户端应用程序与WCF服务项目位于同一解决方案中,请单击客户端应用程序并选择“添加服务引用”。

将显示一个对话框,您可以通过单击右上角标有“发现”的按钮来选择服务。

假设绑定已正确设置并可用于WCF服务(通过app.config文件或类似文件),IDE将自动为您托管服务。 – 请注意,app.config应位于WCF服务项目中,除非解决方案中的另一个项目中已有指定的主机。

如果托管服务有任何问题,将出现一个新的对话框,服务端点的右侧列显示“错误”。 单击错误行将解释为什么存在问题并希望帮助您解决问题。

不对。 WCF服务项目可以在IDE中自行托管,以便添加服务引用

是的,如果带有服务的项目是解决方案的主要项目,但是如果我们想要从同一个解决方案启动客户端应用程序,我们需要将主项目设置为客户端应用程序,因此wcf应用程序将不会自行启动,因此我们需要托管wcf的辅助类。

如果您正在尝试构建一个在同一解决方案中自行承载WCF项目的控制台应用程序,请使用“添加引用”(而不是“添加服务引用”),在解决方案下,您将在解决方案中找到该服务。

在解决方案资源管理器中右键单击项目,然后选择卸载项目

再次右键单击该项目(此时节点将以(不可用)结束)并选择Edit xxxxx.csproj

在第一部分中,添加以下行:{3D9AD99F-2412-4246-B90B-4EAA41C64699}; {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}

保存并关闭文件通过再次右键单击重新加载项目,然后选择“重新加载”。 然后,您应该能够使用“在解决方案中发现服务”function

运行该应用程序并将调试程序附加到wcfsvchost.exe

http://msdn.microsoft.com/en-us/library/system.servicemodel.servicehost.aspx

您需要托管您的服务。 创建一个将在同一解决方案中执行此操作的类