2012-05-30 187 views

回答

3

這取決於。您的Web應用程序運行在與WebRole.cs不同的進程中,這意味着您需要根據用例在其中一個(或兩者)中處理它。

一個例子:讓我們假設你的global.asax中有一個靜態屬性,它包含一個對象。此對象已使用來自服務配置的信息進行初始化。然後幾天後,您在門戶中修改此配置(可能是連接字符串)。這將引發RoleEnvironment.Changing事件。在這種情況下,您需要在Web應用程序(global.asax)中處理該事件,以使用新的配置信息重新初始化靜態對象。

請注意,Web應用程序並不總是處於活動狀態,它只會在第一個請求(您可以修改它,但這是默認行爲)之後啓動。這意味着在某些情況下,您可能無法在Web應用程序中處理事件,因爲該過程未處於活動狀態。如果處理事件對您至關重要,您應該考慮在WebRole.cs中處理它

+0

感謝您的信息。但是,我只想知道事件處理程序是否會在webrole.cs中觸發,但是如果我更改了服務配置文件(比如通過Azure門戶)。 –

+1

是的。這裏是一個例子:http://msdn.microsoft.com/en-us/library/windowsazure/gg494982.aspx –