我正在尝试找到一个(好的)分步创建WCF并将其作为Windows服务(使用安装程序)托管的示例。我正在使用VS2010并且有一个带有1个函数的简单WCF(只返回'Hello')。
请不要谷歌发布;我正在寻找某人实际使用过的资源。我所做的大部分谷歌搜索都没有达到我想要做的事情。
我只想获取我的WCF库,并找到一种方法将其安装为Window Service。我在2008年完成了,但2010年是......不同。
答案 0 :(得分:6)
供将来参考 - 对于任何正在寻找此主题的人:
以下是我发现此问题的最佳示例: CodeProject: WCF Service with Windows Service Hosting, consumed from C# App!
上面提到的这个链接显示了如何使用WCF服务,但还有许多其他内容需要解决: MSDN: How to: Host a WCF Service in a Managed Windows Service!
上面的第二个链接适用于创建WCF服务,但不适合使用它: MSDN: Hosting and Consuming WCF Services!
我很少找到我喜欢的MSDN文章: - )
答案 1 :(得分:3)
您只需要在服务调用ServiceHost host = new ServiceHost(YourClass)
的onstart方法中托管wcf合约类,并在onclose
服务方法中调用host.close()
。托管选项取决于您想与之交谈的客户端类型,如果您想使用REST与纯{html客户端交谈,您需要在WebServiceHost
中托管您的服务,并且您需要在该情况下使用的绑定是{{ 1}}。
我已经按照以下示例操作并且能够创建托管wcf的Windows服务并且确定这是您要查找的内容link
我没有发现在vs2008和vs2010中创建wcf服务有任何区别。
您想要谈论什么类型的客户以及您希望支持哪些协议。这都定义了您的配置。
答案 2 :(得分:0)
我在Windows服务中使用WCF时使用的是Topshelf作为Windows服务框架和this Code Project code的修改版本,以动态托管,安装和运行WCF服务。
Topshelf使其易于开发和调试,因为它可以作为控制台应用程序运行。能够在不停止Windows服务的情况下动态更新WCF服务库非常酷。 ;)