我想修改所有xhr请求的标头

时间:2017-04-08 23:23:00

标签: c# asp.net-mvc-4

我想在登录功能后修改我的HeaderResponse。实际上,我可以使用此

修改/添加响应字段中的新部分
  

HttpContext.Response.AddHeader("示例","示例");

但它不会影响所有请求。它只影响一个请求。

[HttpPost]
        [Route("Account/Login")]
        [ValidateAntiForgeryToken]

        public JsonResult Login(string username, string password)
        {
            AccountModel am = new AccountModel(username, password);
            am.Find(username);
            if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(password) ||
                am.Login(username, password) == null)
            {

                var data = new { status = "false", message = "Account is Invalid" };

                return Json(data,JsonRequestBehavior.AllowGet);
            }

          ////////HttpContext.Response.AddHeader("Example", "example");

            return Json(....,JsonRequestBehavior.AllowGet);
        }

基本上,我想在登录进度后创建HeaderResponse。我想,我需要一些HttpGlobalContext.Response或类似的东西。有可能吗?或者有没有其他替代方法。

1 个答案:

答案 0 :(得分:0)

有多种方法可以实现您想要实现的目标。

1.添加OWIN中间件

public override async Task Invoke(IOwinContext context) {
    //call Headers.Add() method
    context.Response.Headers.Add("key",value);
    await Next.Invoke(context); }

2.添加基本控制器会覆盖OnActionExecuting以添加标头值