如何使用Azure Worker角色控制反转(IoC)

时间:2011-03-14 03:37:20

标签: c# dependency-injection azure inversion-of-control

我在Windows Azure中工作并创建了一个辅助角色。该应用程序正常;应用程序中的许多地方我引用Azure特定的类,例如CloudBlobContainer将文件保存到Azure存储。我想在Windows服务或其他托管环境中运行此应用程序,而不依赖于Azure。我创建的类依赖于Azure资源,当我将应用程序更改为在非Azure环境中运行时,我不想更改大量代码。

我使用Enterprise Library Unity和Ninject作为ASP.NET MVC的IoC容器,它们都运行良好。但是我在弄清楚如何将Unity与Azure辅助角色一起使用时遇到了问题。

我在网上搜索得很高,但是找不到很多资源来帮助解决我的问题。有谁知道在哪里可以获得有关使用Unity与Azure辅助角色的更多信息?

以下是我发现的一些文章,但仍然没有提供足够的信息以供你使用:
Abstracting Away Azure: How to Run Outside of the Cloud

IOC for RoleEntryPoint

2 个答案:

答案 0 :(得分:7)

我们在样本的工人中使用了Unity。看看这里:http://msdn.microsoft.com/en-us/library/ff966499.aspx

事实上,这些样本抽象了工人们发现的常见模式,例如:

  • 从队列中获取消息
  • 做somtheing
  • 从队列中删除邮件

答案 1 :(得分:3)

Alexandre Brisebois撰写的这篇博文可能很有用,他举例说明了他如何使用Unity来连接工人角色。

Building Windows Azure Services Without Compromising Testability