需要一步一步的 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 服务的主要内容,如果未能解决你的问题,请参考以下文章

如何在openGL中制作一步一步的显示动画?

一步一步搭建客服系统 客户列表 - JS($.ajax)调用WCF 遇到的各种坑

如何使用 post/put WCF RestFul Service

带你一步一步的解析ARouter 源码

一步一步的django学习---003

Retrofit攻略---一步一步的打造网络访问的航空母舰