0

从 Azure SDK 1.3 版开始,我们必须在我们的 Web 应用程序(例如 global.asax)中设置配置发布者,而不是 webrole.cs。连接RoleEnvironment.Changed/Changing事件也是如此吗?

4

1 回答 1

3

这取决于。您的 Web 应用程序在与 WebRole.cs 不同的进程中运行,这意味着您需要根据用例在其中一个(或两者)中处理它。

一个例子:假设你的 global.asax 中有一个静态属性,它包含一个对象。该对象已使用来自您的服务配置的信息进行了初始化。然后几天后,您在门户中修改此配置(可能是连接字符串)。这将引发 RoleEnvironment.Changing 事件。在这种情况下,您需要在 Web 应用程序 (global.asax) 中处理该事件,以使用新的配置信息重新初始化静态对象。

请注意,Web 应用程序并不总是处于活动状态,它只会在第一个请求后启动(尽管您可以修改它,但这是默认行为)。这意味着在某些情况下,您可能无法处理 Web 应用程序中的事件,因为该进程未处于活动状态。如果处理事件对您至关重要,您应该考虑在 WebRole.cs 中处理它

于 2012-05-30T11:00:02.580 回答