在Azure Webrole OnStart中保存时,HttpRuntime.Cache对象为null

时间:2011-03-10 06:17:10

标签: wcf asp.net-mvc-3 dependency-injection azure unity-container

我正在尝试让我的WCF服务使用DI as shown here但是我不知道如何在// todo部分初始化IUnityContainer。

我已经尝试过(并且失败了)

  1. 将变量IUnityContainer container设置为public和static,并将其设置在Azure Webrole.cs中,但公共静态变量仍然为null。

  2. 应用程序变量as shown here

  3. 如何让在Azure上运行的MVC应用程序使用带有WCF的DI?

1 个答案:

答案 0 :(得分:0)

最不可能的原因是您使用Windows Azure SDK 1.3运行项目。

在1.3中,WebRole代码(Run / OnStart等)继续在Hostable Web Core中运行,您的站点/服务在IIS下运行。它们是不同的过程,所以无论你在一个记忆中做什么都不会在另一个记忆中看到。

您可以删除服务定义的“网站”部分(基本上将所有内容都放到1个进程:可托管的网络核心,而不是像SDK 1.2中那样的IIS)或在您的服务中执行初始化:例如global.asax