C# 如何在本地/本地托管Azure worker角色?
一些背景 我们第一次冒险进入Azure,并尝试以婴儿阶段的方式完成。目前,我们的第一个应用程序将是工人角色监控队列,以处理请求(如发送电子邮件或执行一些屏幕抓取),我们只需将内部MVC应用程序和WCF服务插入队列。我们稍后将MVC应用程序和WCF服务移动到Azure 我们的开发工作流程基本上是这样的(以一些不重要的方式进行了修改):C# 如何在本地/本地托管Azure worker角色?,c#,azure,azure-worker-roles,C#,Azure,Azure Worker Roles,一些背景 我们第一次冒险进入Azure,并尝试以婴儿阶段的方式完成。目前,我们的第一个应用程序将是工人角色监控队列,以处理请求(如发送电子邮件或执行一些屏幕抓取),我们只需将内部MVC应用程序和WCF服务插入队列。我们稍后将MVC应用程序和WCF服务移动到Azure 我们的开发工作流程基本上是这样的(以一些不重要的方式进行了修改): 在本地和某些共享服务器上开发。检查源代码管理 每隔15分钟,build server构建并部署到“开发”环境(兼作CI和Cover,以防我们需要使用“开发”环境而不
Run()
函数,这样做类似吗?您认为这会对您有所帮助吗?这些是真正的Azure提供程序和仿真器之间的连接
为你的工人角色设置一个门面似乎是合理的。并使用适配器来适应任何可能的云(或其他托管)技术?只是想提出一些想法。我以前确实使用过这种方法,但这是一个“个人”项目
用于配置您的角色等。
像这样配置Azure模拟器。老实说,facade方法是最好的选择 当部署最终依赖于支持基础架构时,在部署到相同或类似的基础架构之前,完全测试是非常困难的。Azure Worker角色肯定就是这样 通过将应用程序的功能方面与基础架构接触点分离,您可以花费精力确保代码按其应有的方式运行,证明外观按其应有的方式运行,然后对最终的组合进行信心测试 除非您的测试环境与您的生产环境完全相同,否则总会有一些折衷的因素 这就是Azure临时部署的用途;切换到生产之前的最后一级信心测试 您可以创建一个额外的小型部署,纯粹是为了以后的测试阶段。您为部署角色的时间付费,因此,如果在测试完成后删除部署,您可以将成本降至最低
最后,facade模式是一个例子,可测试性设计。考虑您的代码,以最大限度地提高部署前可测试的数量,并将后期测试的风险降至最低。这听起来像VS2010在本地调试Azure应用程序时使用的方法。这是不是我可以用一种非常有限的“服务器”方式设置的东西(同样,主要是为非开发人员托管应用程序,以便他们可以测试它)?如果Azure emulator对我有用的话,我需要像TeamCity或CruiseControl这样的东西(最终是nant/powershell/you's name it scripts)来部署到Azure emulator。我希望我能理解你:你一定可以通过脚本部署它们,并让QAs在这些机器上进行测试。您可以使用power shell进行远程Azure VM访问。你不需要VS2010来部署或其他什么。如果你的意思是我可以使用脚本来部署到模拟器,那么是的,你明白我的意思。如果你现在谈论的是Azure本身,那不是我的问题。再次强调,这里的高层目标是能够“托管Azure”用于测试目的。这似乎正是我所需要的!谢谢!!:-)不管我实际上是如何主持这个前提下,我已经做了你说的大部分。我的工作者角色程序集基本上包含两行代码:
var foo=new Bar();foo.ProcessContinuously(关于此环境的一些信息)代码>