检测Application_End中的站点登录URL

时间:2014-06-20 11:23:05

标签: c# asp.net asp.net-mvc iis quartz.net

我在web.config中有这个条目

  <appSettings>
    <add key="pingUrl" value="http://examplesite.com/login.aspx"/>
  </appSettings>

我在Global.asax.cs中有以下代码,以便在回收时自动启动IIS

void Application_End(object sender, EventArgs e)
    {
        try
        {
            string pingUrl = ConfigurationManager.AppSettings["pingUrl"];
            WebClient http = new WebClient();
            string Result = http.DownloadString(pingUrl);
        }
        catch (Exception ex)
        {
            string Message = ex.Message;
        }
    }

我的问题是我可以在Application_End方法中检测应用程序表单身份验证登录页面的URL有些怎么样??而不是从<appSettings/>

读取条目

注意:我在我的MVC4应用程序中使用Quartz.Net,它在IIS回收时停止工作。我阅读IIS app pool recycle + quartz scheduling和许多SO链接但没有用。我们使用外部托管服务提供商,因此我们无法控制更改物理配置文件。

阅读http://weblog.west-wind.com/posts/2007/May/10/Forcing-an-ASPNET-Application-to-stay-alive后,我决定采用这种解决方案。

1 个答案:

答案 0 :(得分:1)

查看FormsAuthentication.LoginUrl上的MSDN文档。

如果您在web.config的<authentication>元素中设置了表单身份验证,并且在那里填充了“loginURL”,那么上面提到的属性应该包含您要查找的信息。