我在azure上有一個web角色,我想在不等待第一個請求的情況下強制Application_Start。在Azure Web角色上強制應用程序啓動
我設法設置「自動啓動」屬性設置爲true在我的網站
AutoStart a WCF on Azure WebRole
不過的Application_Start不叫,直到第一個請求到達。
我不知道我是否缺少重要的東西。服務器是W2008 R2和IIS版本是7.5
謝謝!
SOLUTION
我把解決代碼在這裏。我希望能幫助別人。我剛剛添加了一個WebRole.cs,並且只需將該代碼每隔30秒執行一次ping即可。請netice我正在瀏覽Service.svc,因爲這是我的端點,您的端點可能是另一個端點。注意我要求「Endpoint1」。如果您有多個端點,則應該查看該行。
public class WebRole : RoleEntryPoint
{
public override void Run()
{
var localuri = new Uri(string.Format("http://{0}/Service.svc", RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["Endpoint1"].IPEndpoint));
while (true)
{
try
{
var request = (HttpWebRequest)WebRequest.Create(localuri);
request.Method = "GET";
var response = request.GetResponse();
}
catch { }
System.Threading.Thread.Sleep(30000);
}
}
public override bool OnStart()
{
return base.OnStart();
}
}
這就是我現在正在嘗試的內容XD – Jordi
我剛剛用這個解決方案編輯了我的解決方案。謝謝! – Jordi
我爲客戶使用4種生產環境的相同解決方案。必須有多個節點(實例),隨機請求會突然很慢,顯然是因爲它們在這些請求上運行App Start。如果需要,可以提供代碼嗎? – Ash