我们目前使用这行代码来获取Application_Start事件中的当前应用程序URL。
string sApplicationURL = HttpContext.Current.Request.Url.Scheme + "://"
+ HttpContext.Current.Request.Url.Authority
+ HttpContext.Current.Request.ApplicationPath;
我刚刚发现,在IIS7.0中,当触发Application_Start事件时,Request对象不再可用。
是否有其他方法可以在不使用Request对象的情况下获取当前应用程序URL?
由于
答案 0 :(得分:11)
总之,发生错误是因为Application_Start事件不再具有Request上下文。本博客指出了两种处理此错误的选择:
1)将您的代码更改为无需请求,或 2)修改您的应用程序以在经典模式下运行(不推荐)。
要获取ApplicationPath,请使用 HttpRuntime.AppDomainAppVirtualPath 。
答案 1 :(得分:0)
微软有一篇关于所有重大变化的综合文章,包括这篇,
http://learn.iis.net/page.aspx/381/aspnet-20-breaking-changes-on-iis-70/
是的,其内容以某种方式来自http://mvolo.com(原因很简单)。