为啥在 Worker 角色中托管 WCF 服务

Posted

技术标签:

【中文标题】为啥在 Worker 角色中托管 WCF 服务【英文标题】:Why Host WCF Service in Worker Role为什么在 Worker 角色中托管 WCF 服务 【发布时间】:2013-07-21 21:49:53 【问题描述】:

在使用 WCF 服务构建我的第一个基于 AZURE 的应用程序的过程中,我偶然发现了许多示例,其中人们展示了如何在 Worker Role 中托管 WCF 服务。

比如在这些文章中:

http://www.codeproject.com/Articles/188464/Host-WCF-Services-in-an-Azure-Worker-Role http://code.msdn.microsoft.com/windowsazure/CSAzureWCFServices-20c7d9c5

非常简单的问题,谁能解释一下什么用例需要以工作角色托管 WCF 服务?这样做的动机/优势是什么?

【问题讨论】:

【参考方案1】:

在 WebRole 内托管 WCF 服务意味着它在 IIS 内托管。有些人宁愿不要让 IIS 的足迹与他们的 ServiceHost 混淆,而是直接托管服务。他们可以更好地控制如何在没有 IIS 的情况下与他们的服务进行通信。

此外,在为客户压缩打包解决方案时,创建安装程序包更简单,而无需尝试依赖客户可能已或未正确部署/配置的 IIS 基础架构。

HTH

【讨论】:

以上是关于为啥在 Worker 角色中托管 WCF 服务的主要内容,如果未能解决你的问题,请参考以下文章

为啥托管在 Windows 服务内的 WCF 服务会在一段时间后死掉

使用 Azure 应用服务中托管的 WCF 服务时出现凭据错误

为啥我必须使用 WCF 而不是 Web 服务? [复制]

在 Server 2008 上的 Windows 服务中托管 WCF 服务时应该使用啥帐户?

Worker Role 第三方软件

为啥我在 Global.asax.cs 中的 Application_BeginRequest 没有被自托管的 WCF 服务调用