问题标签 [azure-web-roles]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows - 将 Azure Web 角色重用于后端处理是否是个好主意?
我正在将一个巨大的应用程序移植到 Windows Azure。它将有一个 Web 服务前端和一个处理后端。到目前为止,我认为我会使用 Web 角色来为客户端请求提供服务,并使用工作角色来进行后端处理。
管理两种角色似乎有问题——我需要决定如何扩展两种角色,而且我需要每个角色的几个(至少两个)实例来确保合理的容错性,这会稍微增加运营成本。同样在我的应用程序中,客户端请求是相当轻量级的,而后端处理是重量级的,所以我希望后端处理会比服务客户端请求消耗更多的处理能力。
这就是为什么我正在考虑对所有事情都使用 Web 角色 - 只需生成线程并在每个实例中都进行服务请求和后端处理。这将使角色更加复杂,但我想会简化管理。我将有更多的统一角色实例和更好的容错能力。
将 Web 角色重用于后端处理是个好主意吗?我应该期待什么缺点?
wcf - 为什么要将 Web 服务部署为 Azure 上的 Web 角色?
我的印象是应该在工作角色下运行的 Web 服务。我刚刚发现可以使用 Web 角色设置 Web 服务。使用一个角色相对于另一个角色有什么优势?
windows - 为什么 IIS 在 RoleEntryPoint.OnStart 返回之前接受请求?
我在 Compute Emulator 上使用 Azure 示例,我发现如果我OnStart()
在我的类中继承自RoleEntryPoint
相当慢的返回 Web 角色中的 .aspx 页面甚至在OnStart()
返回之前接受 HTTP 请求。
我觉得这很令人困惑——为什么 IIS 会接受对尚未开始的角色的请求?
windows - 如何在 Azure Compute Emulator 中调用 RoleEntryPoint.OnStop()?
我正在 Azure Compute Emulator 下测试一个微不足道的 Web 角色,并在我的类中重写了OnStart()
,Run()
和方法,这些方法派生自.OnStop()
RoleEntryPoint
OnStart()
并被Run()
调用但OnStop()
不是 - 我将在 Visual Studio 中按“停止调试”或关闭浏览器窗口,角色将被终止,但OnStop()
永远不会被调用。我已经检查过 -override
关键字存在于OnStop()
定义中。
这不是很方便 - 这意味着我无法OnStop()
在现场云之外测试我的。
我可以以某种方式让 Compute Emulator 调用OnStop()
我的角色吗?
azure - Azure - 超小型实例 Web 角色 - 准备好投入生产了吗?
我正计划在 Azure 中运行一个网站。我估计最大值。每天有 2000 名用户创造大约 20.000 次点击。
我知道我在这里有点含糊,但是超小的实例是否已准备好用于此类站点?我正在使用 MVC 3 创建站点。感谢您的任何回答。
azure - 自定义 STS 的联合 Metadata.xml
我正在尝试将自定义 STS 实现为要部署到 Azure 的 WebRole。我遇到的问题是如何为我的自定义 STS 生成或编写 Federation Metadata.xml 文件。如果我自己写,我可以获得自定义参考 ID,我如何签名?另外,因为我的 STS 是一个 Azure 应用程序,所以当我在 Azure 模拟器中运行它时,它有一个类似http://127.0.0.1:81/的 URL ,所以我会使用它作为 Federation Metadata.xml 文件中的链接,但之后当我将 STS 作为生产部署发布到 Azure 时,它会有一个类似http://cloudSts.cloudapp.net的 URL所以我必须在我的联邦 Metadata.xml 文件中反映这些更改,这里的问题是,在进行这些更改之后,我应该再次升级/发布包,然后将其移至生产环境,否则我可以简单地上传更改后的联邦元数据。 xml 文件到 ACS 上(我将自定义 STS 作为 IP),它会工作吗?
谢谢
asp.net-mvc-3 - 从 Azure 中的辅助角色部署 Web 角色
我正在研究一些 Windows Azure 的东西,以便决定是否迁移到 Azure。
基本信息
要回答这个问题,您需要对我的应用程序有一些基本的了解,所以这里是。
该应用程序是一个连接到 SQL Server 数据库的 ASP.NET MVC 3 应用程序。
它是一个单实例应用程序,这意味着每个客户最终都会在我们的服务器上运行自己的应用程序实例,并将其作为网站部署到 IIS 7。
我有一个 SQL Server,每个实例都有自己的数据库。
我还有一组 Windows 服务来做一些后台处理。这应该是直截了当的,因为我将重写那些以在 Windows Azure 中使用 Worker 角色 - 服务中的大部分逻辑无论如何都位于它们自己的类(库)中,所以它自己的服务只调用一个或多个类中的方法。
现在回到问题
每当有人注册免费试用时,我都会将一条记录添加到我拥有的管理数据库中。
然后我有一个 Windows 服务,它将 ASP.NET MVC 3 应用程序的新实例部署到 IIS,授予一些文件夹的权限,运行数据库部署脚本并更新记录以反映它现在已经部署,最后发送向潜在客户发送一封电子邮件,说明他们的免费试用已创建 - 这是您访问它的方式。
那么,如何从 Worker 角色在 Windows Azure 中部署新实例?最好是向现有 Azure 实例添加一个新网站,并为该特定网站创建一个新的 SQL Azure 数据库以供使用。
这需要很多工作来设置吗?甚至可能吗?
iis-7 - Azure 中的 approot 和 sitesroot
我的 Azure Web 角色需要能够删除存储在 App_Data 子文件夹中的临时本地文件。我想在 Azure 提升的启动任务中使用 ICACLS 以允许 IIS 执行此操作,如下所示:
ICACLS App_Data /grant "IIS_IUSRS":(OI)(CI)F
但是,我的启动任务执行于:
E:\approot\bin
而 Web 应用程序实际结束并从中执行的根文件夹似乎是:
E:\sitesroot\0
我不愿意硬编码这条路径,以防微软改变它。有没有办法从启动任务中获取这条路径,或者我可以依赖这个目的地?
为了在 ASPX 中进行测试,我添加了:
当我在已部署的实例上运行它时,我得到:
MapPath: E:\sitesroot\0\ RoleRoot:
即 RoleRoot 为空。
那么我怎样才能得到 Server.MapPath("~/"); 的结果?在启动任务中?
azure - Webrole - 单个绑定上的多个 hostHeader?
在 Azure 中是否可以在单个 Binding 上有多个 hostHeader ,或者是否必须为每个 hostheader 创建一个 Binding ?
例子 :
还是我必须为单个 hostHeader 创建每个绑定条目(知道站点路径相同)?
azure - 获取 webrole 所属部署的名称和位置
我希望能够从正在运行的 Web 角色中获取部署的名称(在创建托管服务时命名)和位置(北欧、亚洲 Anywere 等)。我不想依赖证书和订阅 ID。
就像是:
但只是返回部署名称和部署位置。
如果不使用订阅 ID 和证书文件通过 REST api,这是否可能?