3

我了解到您可以在 Azure 辅助角色上打开端口 80 并公开运行 WCF 服务。但是,我很难想出这样一个场景,与以 Web 角色运行相比,以这种方式执行此操作更有意义。有任何想法吗?

4

1 回答 1

8

托管在辅助角色中的 WCF 服务本质上是自托管的:从 OnStart() 中,您将创建一个新的 ServiceHost() 并从那里开始。

托管在 Web 角色中的 WCF 服务将利用 IIS 将服务托管为 svc,利用 IIS 性能计数器、缓存、自动激活、进程回收等。

更有趣的是:在托管网站的 Web 角色中,您仍然可以像在工作角色中一样运行自托管 WCF 服务。您只需在某个其他端口(或内部端点,仅可由部署中的 Windows Azure Web/工作者角色实例使用)上创建另一个输入端点。

还有另一种情况:通过运行自托管服务,您不仅限于 .net - 启动任何知道如何侦听端口的可执行文件。这为托管 Java 服务主机、python 等提供了机会。

于 2011-05-11T22:29:19.730 回答