新建generic handler,通过context.RewritePath(或者配置web.config文件,参考:https://blog.csdn.net/frozleaf/article/details/95176201)去掉.ashx后缀
1、新建generic handler
2、实现ProcessRequest函数
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace WebApplication1
{
/// <summary>
/// Summary description for queryInfo1
/// </summary>
public class queryInfo2 : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
var info = new
{
name = "xiaowang",
age = 21,
sex = "男"
};
context.Response.ContentType = "application/json";
context.Response.Write(JsonConvert.SerializeObject(info));
context.Response.Flush();
}
public bool IsReusable
{
get
{
return false;
}
}
}
}
3、打开asax,重写Application_BeginRequest方法
private Dictionary<string,string> mappings = new Dictionary<string, string>()
{
{"/queryInfo2","queryInfo2.ashx" },
};
protected void Application_BeginRequest(object sender, EventArgs e)
{
foreach (var mapping in mappings)
{
var m = Regex.Match(Context.Request.Path, mapping.Key);
if (m.Success)
{
Context.RewritePath(Context.Request.Path.Replace(mapping.Key, mapping.Value));
break;
}
}
}
-
访问接口:
-
返回数据:
-
{"name":"xiaowang","age":21,"sex":"男"}