Wie zu verwenden WebClient.DownloadData(für einen lokalen DummyPage.aspx)
Bin ich nach einem tutorial auf diesen link http://www.codeproject.com/KB/aspnet/ASPNETService.aspx
Nun bin ich fest an diese codes
private const string DummyPageUrl =
"http://localhost/TestCacheTimeout/WebForm1.aspx";
private void HitPage()
{
WebClient client = new WebClient();
client.DownloadData(DummyPageUrl);
}
Meinem lokalen Anwendung-Adresse eine port-Nummer nach dem "localhost", also wie bekomme ich den vollständigen Pfad (kann es sein, getan in der Application_Start-Methode)? Ich will, dass es ganz allgemein so, daß es in allen Fällen.
Vielen Dank!
UPDATE
Habe ich versucht, diese in der Application_Start-und es läuft gut, aber wieder Fehler sofort bei der Veröffentlichung zu IIS7
String path = HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority) + VirtualPathUtility.ToAbsolute("~/");
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie fordert, auf den selben server zurück, vielleicht benutzen die
Request
Objekt:Andernfalls, speichern Sie die anderen - server, die details in einer config-Datei oder der Datenbank, und geben Sie den richtigen Wert.
Aber eine bessere Frage wäre: warum würden Sie sprechen über das http zu sich selbst? Warum nicht einfach ein Aufruf einer Methode der Klasse? Ich persönlich würde mit einem externe geplanten Auftrag, dies zu tun.
var url = Request.Url.ToString().Substring(0, Request.Url.ToString().LastIndexOf('/')) + "/WebForm1.aspx";
Müssen Sie eine Antwort, die funktioniert, wenn Sie roll-out auf eine andere Umgebung, vielleicht hat ja einer virtual application Ordner.
Diese wird in allen Fällen funktionieren und keine bösen überraschungen, wenn Sie bereitstellen.
Ich vermute, Sie sind mit der ASP.NET Entwicklung, server, gebaut-in für Visual Studio, die hat eine Tendenz zu ändern port-Nummern sind standardmäßig. Wenn das der Fall ist, dann könnten Sie versuchen, einfach die Konfiguration der Entwicklungs-server immer den gleichen port verwenden, wie hier beschrieben. Dann fügen Sie einfach die port-Nummer für Ihre URL, etwa so: