您正在开发一个Windows应用程序,我必须调用一个aspx页面,该页面从数据库中读取值并将其转换为XML。我不知道如何调用aspx页面并使其返回一个值来调用windows application.I尝试使用Web请求方法它不返回任何东西。请建议我如何做到这一点
答案 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应用程序中添加新项目,并选择通用处理程序:
这是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;
}
}
}