0

您好我正在 Azure WorkerRole 中实现 TCPIP 侦听器。WorkerRole 侦听传入的 TCP 数据并将其存储在 Azure 表存储中。

当我在 WorkerRole 的 Run() 中执行此操作时,一切正常。

但是,当在 WebRole 的 Run() 中实现相同的操作时,我会收到一条消息“WebIIS 已退出”,并且在开发环境中退出调试模式。

为什么是这样?

有人可以解释 WebRole 与 WorkerRole 的不同之处吗?我们能否实现一个 TCPIP 监听器,它在 WebRole 中持续监听?

谢谢阿尼尔

4

3 回答 3

0

试想一下,WebRole 就像一个 Web 应用程序一样工作。通过接收请求然后它返回响应,而 Worker Role 像 Windows 服务一样工作。虽然两者都可以处理 TPC 消息,但它们的处理方式不同。仅 Web 角色在处理请求时可用。工人角色将持续可用。如果您希望 Web 角色持续侦听 TCP 通道,最有可能的是 Worker 角色将更适合您的要求。

问候,

于 2012-05-04T09:37:59.553 回答
0

我对类似问题的回答:https ://stackoverflow.com/a/2610895/94559

简而言之,Web 角色适用于 IIS,而工作角色适用于其他一切。在这种情况下,我认为你想要一个工人角色。

于 2012-05-04T15:16:32.640 回答
0

什么是 Azure 云服务角色?

在 Azure 中,云服务角色是托管、负载平衡、平台即服务的虚拟机的集合,它们协同工作以执行常见任务。云服务角色由 Azure 结构控制器管理,并提供可扩展性、控制和自定义的终极组合

什么是 Web 角色?

Web 角色是 Azure 中的一个云服务角色,它被配置和定制为运行基于 Internet 信息服务 (IIS) 支持的编程语言/技术开发的 Web 应用程序,例如 ASP.NET、PHP、Windows Communication Foundation 和 Fast CGI。

什么是工人角色?

辅助角色是 Azure 中运行应用程序和服务级别任务的任何角色,通常不需要 IIS。在 Worker Roles 中,默认情况下不安装 IIS。它们主要用于与 Web 角色一起执行支持后台进程,并执行诸如自动压缩上传的图像、在数据库中发生更改时运行脚本、从队列和进程中获取新消息等任务。

于 2017-11-27T13:27:06.160 回答