在 Global.asax.cs 的 Application_Start 中,我正在尝试使用以下方法获取当前应用程序路径:
var virtualPath = HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority)
+ HttpRuntime.AppDomainAppVirtualPath;
这将返回例如:http://localhost:99/MySite/
然后,我将使用此 URL 并执行以下操作:
var pageToHit = virtualPath + Pages\MyOtherPage.aspx
var client = new WebClient();
client.DownloadData(dummyPageUrl);
当我在 IIS 6 或 Visual Studio 内置 Web 服务器中运行项目时,这一切都很好,但是在 IIS 7 中事情变得疯狂,因为我得到“System.Web.HttpException:请求在此上下文中不可用”。
我知道这个线程:Request is not available in this context
但是,我想知道是否有人对如何在不更改项目以经典模式运行的情况下执行上述操作有任何想法。