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

发布于 2024-10-21 07:35:33 字数 456 浏览 7 评论 0原文

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

我尝试过(但失败了)

  1. 将变量IUnityContainer容器设为公共和静态,并在我的Azure Webrole.cs中将其设置,但公共静态变量仍然为空。

  2. 应用程序变量如此处所示

如何使在 Azure 上运行的 MVC 应用程序使用 DI 和 WCF?

I'm trying to make my WCF service use DI as shown here however I don't know how to initialize the IUnityContainer in the //todo section.

I've tried (and failed at)

  1. Making the variable IUnityContainer container public and static and setting it within my Azure Webrole.cs however the public static variable is still null.

  2. Application variables as shown here

How do I make an MVC application running on Azure use DI with WCF?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夜巴黎 2024-10-28 07:35:33

导致此功能不起作用的最可能原因是您正在使用 Windows Azure SDK 1.3 运行该项目。

在 1.3 中,WebRole 代码(Run/OnStart 等)继续在 Hostable Web Core 中运行,并且您的站点/服务在 IIS 下运行。它们是不同的过程,因此您在一个过程的记忆中所做的任何事情在另一个过程中都不会可见。

您可以删除服务定义的“站点”部分(本质上将所有内容带入 1 个进程:可托管 Web 核心,并且没有像 SDK 1.2 中那样的 IIS)或在服务中执行初始化:例如 global.asax

The most likely cause of this not working is that you are running the project with Windows Azure SDK 1.3.

In 1.3, the WebRole code (Run/OnStart, etc) continues to run in Hostable Web Core and your site/service runs under IIS. They are different processes so whatever you do in the memory of one will not be visible in the other.

You can either delete the "Sites" section of your service defintion (essentially bringing everything to 1 process: hostable web core and no IIS like in SDK 1.2) or perform initialization in your service: e.g. the global.asax

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文