需要一步一步的 WCF 作为 Windows 服务
Posted
技术标签:
【中文标题】需要一步一步的 WCF 作为 Windows 服务【英文标题】:Need a step-by-step WCF as Windows Service 【发布时间】:2011-11-04 00:34:39 【问题描述】:我正在尝试找到一个(好的)分步示例来创建 WCF 并将其作为 Windows 服务托管(使用安装程序)。我正在使用 VS2010 并且有一个带有 1 个函数的简单 WCF(只返回“Hello”)。
请不要谷歌和发帖;我正在寻找某人实际使用过的资源。我所做的大部分谷歌搜索并没有为我想要做的事情提供太多帮助。
我只想使用我的 WCF 库,并找到一种方法将其安装为窗口服务。我在 2008 年就做到了,但 2010 年……不一样了。
【问题讨论】:
【参考方案1】:供将来参考 - 供查看此线程的其他人使用:
这是我找到的关于这个问题的最佳示例: 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 文章 :-)
【讨论】:
第二个链接“MSDN:如何:在托管 Windows 服务中托管 WCF 服务”FTW!【参考方案2】:您只需要在您的服务调用ServiceHost host = new ServiceHost(YourClass)
的onstart 方法和您需要调用host.close()
的服务的onclose
方法中托管wcf 合同类。托管选项取决于您要与哪种类型的客户端交谈,如果您想使用 REST 与纯 html 客户端交谈,您需要在 WebServiceHost
中托管您的服务,并且在这种情况下您需要使用的绑定是 webHttpBinding
。
我遵循以下示例并能够创建托管 wcf 的 Windows 服务,我确定这就是您正在寻找的 link
我没有发现在 vs2008 和 vs2010 中创建 wcf 服务有什么不同。
您想与哪种类型的客户交谈以及您希望支持哪些协议。这一切都定义了您的配置。
【讨论】:
顺便说一句,您的开发环境使用的是哪个操作系统?如果您必须调试和运行您的应用程序,Visual Studio 应该以管理员身份运行,因为在您的机器中注册命名空间需要管理员权限。 +1 对答案和评论的投票,这是我拼命寻找的链接,我忘记以管理员身份运行 VS。两个都赞!!!【参考方案3】:我在 Windows 服务中使用 WCF 时使用的是 Topshelf 作为 Windows 服务框架和 this Code Project code 的修改版本以动态托管、安装和运行 WCF 服务。
Topshelf 使开发和调试变得非常容易,因为它可以作为控制台应用程序运行。能够在不停止 Windows 服务的情况下动态更新 WCF 服务库真是太棒了。 ;)
【讨论】:
google 这个,因为我手头没有代码,但这并不难handcraftsman.wordpress.com/2011/02/28/…以上是关于需要一步一步的 WCF 作为 Windows 服务的主要内容,如果未能解决你的问题,请参考以下文章
一步一步搭建客服系统 客户列表 - JS($.ajax)调用WCF 遇到的各种坑