我可以为Azure辅助角色创建插件吗?

时间:2012-09-01 14:54:53

标签: plugins azure

我想在azure中创建Worker Role,处理Web角色的场景处理。在web角色中,我想上传一个插件(最有可能的DLL),这个插件可供工作者角色使用。

安全性怎么样?如果我是让第三方人员上传一个dll到我的天蓝色工人角色。我可以做任何事情来限制它能做什么。如果他们可以控制管理API或类似的东西,那就太好了。

我是azure的新手,并探索它是否是一个用于此项目的平台。

最后一个问题,我注意到我可以远程桌面我的云服务。我可以上传二进制程序并从工作者角色调用它吗? (另一种插件)。

3 个答案:

答案 0 :(得分:1)

尝试Richard Astbury的Azure Plugin Library

答案 1 :(得分:1)

您可能希望了解一些事项。假设您的Worker Role是一个空shell。启动Worker Role后,您可以启动一个每X分钟运行一次的计时器,以便从blob存储容器中获取最新的程序集。

您可以将这些程序集下载到文件夹,然后使用MEF扫描它们并导入所有实现IWorkerRolePlugin的对象(这将是您要创建的自定义界面)。当您想使用插件时,MEF将是最佳选择。您甚至可以创建一个直接链接到blob存储容器的自定义目录。

现在关于安全部分。在您的工作者角色中,您可以创建一个受限制的AppDomain,以确保这些插件不会出错。这段代码可以帮助您入门:Restricted AppDomain example

答案 2 :(得分:0)

听起来像Lokad.Cloud就是你所需要的。

它有一个执行框架部分,它由能够运行他们所谓的Cloud Service的工作者角色组成。它附带一个Web控制台,允许您通过上载程序集添加新的CloudService实现,如果您将其配置为允许Azure自我管理,您还可以通过Web控制台调整工作程序实例的数量。