我正在使用WCF服务,我将其托管在控制台应用程序中。我将所有配置都放在XML文件中。该服务运行良好,我可以很好地从客户端连接它,但令我困扰的是,当我启动它时,WcfSvcHost应用程序启动(在我的图标托盘中)并说“您的服务已经托管.... ”。但是,当我点击它时,它会显示我的服务,并且状态显示为Stopped(错误表示没有定义端点)。
我有两个项目,一个是服务项目,另一个是托管项目。该错误指向具有该服务的项目,该项目没有定义配置,因为(我假设)在那里不需要它。我在App.config中包含承载服务的项目中的所有配置。
我如何摆脱这条消息?它甚至是一个问题还是正常的?
P.S。我只启动托管服务的项目,而不是具有服务代码的项目。
答案 0 :(得分:3)
点击项目后,我找到了解决方案。如果右键单击服务库项目,在WCF选项下,有一个选项“在解决方案中调试另一个项目时启动WCF服务主机”,只需取消选中该项目即可停止。
另外,请检查Scott Chamberlain的答案,这可能是某些情况下的原因。
答案 1 :(得分:1)
如果WcfSvcHost
正在启动,则您的托管应用无法启动。即使您说您正在启动托管应用程序,请仔细检查您是否将服务库设置为启动项目。
在上图中,启动项目应为HostingApp
,您可能将其设置为WcfServiceLibrary
另一种可能性是您的托管应用设置错误,在托管应用的项目设置中,检查输出类型是否为Windows Application
。
如果您将其设置为Class Library
,那么在“命令行参数”中,您/client:"WcfTestClient.exe"
也会导致您的问题。如果您将项目作为“Serivice Library”启动,但后来又决定将其转入托管应用程序,则很容易发生这种情况。