在Application_Start事件中请求对象

des*_*esi 7 c# iis-7

我们目前使用这行代码来获取Application_Start事件中的当前应用程序URL.

string sApplicationURL = HttpContext.Current.Request.Url.Scheme + "://" 
                         + HttpContext.Current.Request.Url.Authority 
                         + HttpContext.Current.Request.ApplicationPath;
Run Code Online (Sandbox Code Playgroud)

我刚刚发现,在IIS7.0中,当触发Application_Start事件时,Request对象不再可用.

有没有另一种方法来获取当前的应用程序URL而不使用Request对象?

谢谢

Jes*_*ess 11

看看这个:http: //mvolo.com/blogs/serverside/archive/2007/11/10/Integrated-mode-Request-is-not-available-in-this-context-in-Application_5F00_Start.aspx

总之,发生错误是因为Application_Start事件不再具有Request上下文.此博客说明了处理此错误的两种选择:

1)将您的代码更改为无需请求,或2)修改您的应用程序以在经典模式下运行(不推荐).

要获取ApplicationPath,请使用HttpRuntime.AppDomainAppVirtualPath.

  • 你应该详细说明,而不是发布一个可以移动的博客的裸链接 (4认同)