Wewnątrz Application_Start mojego Global.asax.cs, Próbuję uzyskać bieżącą ścieżkę aplikacji przy użyciu:Uzyskaj bieżącej aplikacji Virtual Path w ASP.Net
var virtualPath = HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority)
+ HttpRuntime.AppDomainAppVirtualPath;
będzie to powrót na przykład: http://localhost:99/MySite/
i wtedy użyć tego adresu URL i wykonaj następujące czynności:
var pageToHit = virtualPath + Pages\MyOtherPage.aspx
var client = new WebClient();
client.DownloadData(dummyPageUrl);
Wszystko to jest w porządku, kiedy uruchomić projekt w IIS 6 lub Visual Studio wbudowany serwer WWW, jednak w programach IIS 7 szaleją rzeczy, ponieważ dostaję "System.Web.HttpException: Żądanie nie jest dostępne w tym kontekście".
Zdaję sobie sprawę z tego wątku: Request is not available in this context
Jednak, zastanawiałem się, czy ktoś ma jakiś pomysł, jak to zrobić bez zmiany powyższego projektu do uruchomienia w trybie klasycznym.
Wydaje się, że jest to duplikat pytania Jak uzyskać pełną nazwę hosta + numer portu w polu Application_Start of Global.aspx? pytanie: http://stackoverflow.com/questions/4243270/how-to-get-full-host-name-port-number-in-application-start-of-global-aspx – JamieSee