Jor*_*rdi 6 azure iis-7.5 webrole
我在azure上有一个web角色,我想在不等待第一个请求的情况下强制执行Application_Start.
我设法在我的网站上将"自动启动"属性设置为true
但是在第一个请求到来之前不会调用Application_Start.
我不确切地知道我是否遗漏了一些重要的东西.服务器是W2008 R2,IIS版本是7.5
谢谢!
解
我把解决方案代码放在这里.我希望能帮助别人.我刚刚添加了一个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();
}
}
Run Code Online (Sandbox Code Playgroud)
IIS 仅在第一个请求到达时启动。OnStart
解决方法是从内部或您的后代向同一虚拟机发送 HTTP 请求RoleEntryPoint
- 这很容易使用WebRequest
或等效类。
归档时间: |
|
查看次数: |
1615 次 |
最近记录: |