从Windows应用程序执行aspx页面并返回数据

时间:2012-04-25 12:24:31

标签: c# asp.net

您正在开发一个Windows应用程序,我必须调用一个aspx页面,该页面从数据库中读取值并将其转换为XML。我不知道如何调用aspx页面并使其返回一个值来调用windows application.I尝试使用Web请求方法它不返回任何东西。请建议我如何做到这一点

1 个答案:

答案 0 :(得分:1)

您可以使用WebClient,如下所示:

这是由HttpModule生成的站点地图XML,它拦截对XML文件的请求:

  WebClient wc = new WebClient();
  string smap = wc.DownloadString("http://www.antoniob.com/sitemap.xml");

这是一个返回XML的理论aspx

  WebClient wc = new WebClient();
  string smap = wc.DownloadString("http://www.somesite.com/GetXml.ashx");

除了地址

外,电话没有区别

在服务器端(asp.net app),最好使用ASHX处理程序,因为它更适合返回XML,在ASP.NET应用程序中添加新项目,并选择通用处理程序:

enter image description here

这是GetXml.ashx处理程序的代码,它将从App_Data文件夹返回示例XML:

  public class GetXml : IHttpHandler
  {    
    public void ProcessRequest(HttpContext context)
    {
      context.Response.ContentType = "text/xml";
      string xml = File.ReadAllText(context.Server.MapPath("~/App_Data/sample.xml"));
      context.Response.Write(xml);
      context.Response.End();    
    }

    public bool IsReusable
    {
      get
      {
        return false;
      }
    }
  }