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 サーバーでプロジェクトを実行すると、これはすべて問題ありませんが、「System.Web.HttpException: Request is not available in this context」が発生するため、IIS 7 ではうまくいきません。
私はこのスレッドを認識しています: Request is not available in this context
ただし、プロジェクトをクラシックモードで実行するように変更せずに上記を行う方法について誰かが考えているかどうか疑問に思っていました。