0

我们在 WebApp 中有一个静态类,其中包含当前会话和用户名的静态字典。我们需要访问 WebJob 中字典中的数据,因为我们希望根据当前拥有活动会话的用户来更新数据。webJob 每 5 分钟运行一次,需要有当前的会话/用户列表。

我可以从网络作业访问字典,但它始终为空。我们登录了验证字典中有条目的 web 应用程序,但是当 web 作业访问字典时,它的值为空。

如何在 webJob 中获取该对象并获取其数据?我们是否需要使用 Azure 存储(队列/表)才能使其工作?

4

1 回答 1

0

“Azure AppService”托管在“AppService 计划”上,该计划又由许多虚拟机组成。WebJobs(“your.webjob.exe”)和 WebApps(通常是“w3wp.exe”)是这些系统上完全独立的进程。它们可能在同一台机器上运行,但不能保证。无论哪种方式,它们之间的通信都会很困难,并且绝对不能通过使用公共静态变量来实现。

对于您的用例,您应该使用公共存储。Azure 存储可以工作,但 Azure Redis 缓存或简单的 SQL 也可以解决问题。取决于您的框架和要求。

于 2019-02-13T21:58:47.960 回答