我有一个WCF服务控制台应用程序。当我从Visual Studio中运行它时,它会打开它的tcp端口,我可以在同一台服务器上运行的网站上使用它。但是,当我直接从命令提示符运行控制台应用程序时,它不会打开该端口。我没有收到任何错误,但netstat没有显示端口打开以及调用服务时网站错误。
服务器正在运行Windows Server 2003,Windows防火墙已关闭。
在VS之外运行控制台应用程序时,WCF难题的哪一部分丢失了?
答案 0 :(得分:4)
您必须创建ServiceHost
。
http://msdn.microsoft.com/en-us/library/system.servicemodel.servicehost.aspx
Visual Studio在调试时会自动为您创建一个主机。
答案 1 :(得分:0)
就像Jimmy所说,你需要托管你的WCF组件,然后才能在Visual Studio之外使用它。
托管WCF服务的最常见和更直接的方法之一是通过IIS:
答案 2 :(得分:0)
如果您在控制台应用程序中创建ServiceHost
时遇到此问题,则听起来您可能需要使用提升的权限启动命令提示符(即在管理员模式下)。 / p>