从另一个asp.net页面调用asp.net页面(ashx处理程序)

时间:2010-07-12 18:43:55

标签: asp.net caching webrequest

我在asp.net中有一个管理页面,可以将数据添加到数据库中。此数据库作为外部网站的JSON字符串提供,但由于它是大量数据,因此外部网站会在本地缓存此数据。

我希望能够ping外部网站,让他们知道数据已更改,以便他们可以引用其缓存。我想我可以设置一个ASHX处理程序,它接收一个参数,告诉他们哪些数据已经改变,这样他们就可以删除那些数据并刷新它。

我不确定的唯一部分是从我的管理页面调用此外部页面的最佳方式。我只是做一个常规的WebRequest并丢弃结果吗?或者,当您不需要响应时,是否有更简单的方法从代码调用页面?

基本上我只是想“ping”这个页面,所以它知道它需要刷新。

谢谢!

2 个答案:

答案 0 :(得分:2)

如果您只想调用远程页面,可以使用WebRequest类。 http://msdn.microsoft.com/en-us/library/debx8sh9.aspx

WebRequest request = WebRequest.Create("http://my.domain.ext/page.ashx");
using(WebResponse response = request.GetResponse()) {
  response.Close();
}

如果你想做更高级的东西,网络服务会更合适。

答案 1 :(得分:1)

您可以在数据库中设置标记。这会把这变成一个更简单的任务。

如果没有其他选择,您可以使用WebClient类:

using (var wc = new WebClient()) 
{
    wc.DownloadString(address);
}