Bên trong Application_Start của Global.asax.cs của tôi, tôi đang cố gắng để có được những con đường ứng dụng hiện tại sử dụng:Get The Current Ứng dụng đường dẫn ảo trong ASP.Net
var virtualPath = HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority)
+ HttpRuntime.AppDomainAppVirtualPath;
này sẽ trở lại ví dụ: http://localhost:99/MySite/
sau đó tôi sẽ sử dụng URL này và thực hiện như sau:
var pageToHit = virtualPath + Pages\MyOtherPage.aspx
var client = new WebClient();
client.DownloadData(dummyPageUrl);
Tất cả điều này là tốt khi tôi chạy dự án trong IIS 6 hoặc Visual Studio built-in máy chủ web, Tuy nhiên mọi thứ đi điên trong IIS 7 như tôi nhận được một "System.Web.HttpException: Yêu cầu không có sẵn trong bối cảnh này".
tôi biết chủ đề này: Request is not available in this context
Tuy nhiên, tôi đã tự hỏi nếu có ai có bất kỳ ý tưởng về làm thế nào để làm các việc trên mà không thay đổi dự án để chạy trong chế độ cổ điển.
Ngoài ra, điều này có vẻ trùng lặp với Cách nhận được tên máy chủ lưu trữ đầy đủ + số cổng trong Application_Start of Global.aspx? câu hỏi: http://stackoverflow.com/questions/4243270/how-to-get-full-host-name-port-number-in-application-start-of-global-aspx – JamieSee