如何使用WebClient.DownloadData(到本地DummyPage.aspx)

Leo*_*Leo 6 c# asp.net url localhost path

我正在关注此链接的教程http://www.codeproject.com/KB/aspnet/ASPNETService.aspx

现在我坚持这些代码

private const string DummyPageUrl = 
    "http://localhost/TestCacheTimeout/WebForm1.aspx";

private void HitPage()
{
    WebClient client = new WebClient();
    client.DownloadData(DummyPageUrl);
}
Run Code Online (Sandbox Code Playgroud)

我的本地应用程序地址在"localhost"之后有一个端口号,那么如何获取完整路径(可以在Application_Start方法中完成)?我希望它非常通用,以便它可以在任何情况下工作.

非常感谢!

UPDATE

我在Application_Start中尝试了这个并运行正常,但在发布到IIS7时立即返回错误

String path = HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority) + VirtualPathUtility.ToAbsolute("~/");
Run Code Online (Sandbox Code Playgroud)

Mar*_*ell 7

如果它正在回调同一个服务器,也许使用该Request对象:

var url = new Uri(Request.Url, "/TestCacheTimeout/WebForm1.aspx").AbsoluteUri;
Run Code Online (Sandbox Code Playgroud)

否则,将其他服务器的详细信息存储在配置文件或数据库中,并为其指定正确的值.

但更好的问题是:你为什么要通过http 与自己交谈?为什么不直接调用类方法?就个人而言,我将使用外部预定工作来完成此任务.