1

您好正在开发一个 Windows 应用程序,在该应用程序中我必须调用一个从数据库中读取值并将其转换为 XML 的 aspx 页面。我不知道如何调用一个 aspx 页面并使其返回一个值给调用 Windows 应用程序。我尝试使用 Web 请求方法,它不返回任何内容。请建议我如何执行此操作

4

1 回答 1

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 应用程序),最好使用 ASHX 处理程序,因为它更适合返回 XML,在您的 ASP.NET 应用程序中添加新项目,并选择通用处理程序:

在此处输入图像描述

这是 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;
      }
    }
  }
于 2012-04-25T12:30:47.670 回答