您好我正在Azure WorkerRole中实现TCPIP侦听器。 WorkerRole侦听传入的TCP数据并将其存储在Azure表存储中。
当我在WorkerRole的Run()中执行此操作时,一切正常。
但是当在WebRole的Run()中实现相同的东西时,我得到一条消息“WebIIS已经退出”,并且调试模式在dev环境中退出。
这是为什么?
有人可以解释一下WebRole与WorkerRole的不同之处吗?我们可以实现一个持续侦听WebRole的TCPIP侦听器吗?
由于 阿尼尔
答案 0 :(得分:0)
认为WebRole的工作方式与Web应用程序类似。通过接收请求然后它返回响应,而工作者角色的工作方式类似于Windows服务。虽然两者都可以传递TPC信息,但它们的处理方式却有所不同。仅在处理请求时可以使用Web角色。工作者角色将不断提供。如果您希望Web角色能够持续监听TCP通道,那么工作者角色最有可能更适合您的需求。
此致
答案 1 :(得分:0)
我对类似问题的回答:https://stackoverflow.com/a/2610895/94559
简而言之,Web角色适用于IIS,而工作角色适用于其他所有内容。在这种情况下,我认为你想要一个工人角色。
答案 2 :(得分:0)
什么是Azure云服务角色?
在Azure中,云服务角色是托管的,负载均衡的平台即服务虚拟机的集合,它们协同工作以执行常见任务。 Cloud Service角色由Azure结构控制器管理,提供可扩展性,控制和自定义的最终组合
什么是网络角色?
Web角色是Azure中的一项云服务角色,其配置和自定义为运行由Internet信息服务(IIS)支持的编程语言/技术开发的Web应用程序,例如ASP.NET,PHP,Windows Communication Foundation和快速CGI。
什么是工人角色?
辅助角色是Azure中用于运行应用程序和服务级别任务的任何角色,通常不需要IIS。在Worker Roles中,默认情况下不安装IIS。它们主要用于执行支持后台进程以及Web角色,并执行任务,例如自动压缩上载的图像,在数据库中发生更改时运行脚本,从队列和进程中获取新消息等。