【问题标题】:How to create a response in MVC 6如何在 MVC 6 中创建响应
【发布时间】:2016-03-29 10:39:00
【问题描述】:

我在 MVC 4 中有这段代码:

private HttpResponseMessage GetAuthToken(Guid userId)
        {
            var token = _tokenService.GenerateToken(userId);
            var response = Request.CreateResponse(HttpStatusCode.OK, "Authorized");
            response.Headers.Add("Token", token.AuthToken);
            response.Headers.Add("TokenExpiry", ConfigurationManager.AppSettings["AuthTokenExpiry"]);
            response.Headers.Add("Access-Control-Expose-Headers", "Token,TokenExpiry");

            return response;
        }

如何将此代码迁移到 MVC 6?

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-4 asp.net-core-mvc


    【解决方案1】:

    这应该适用于 MVC 6。

    public ObjectResult GetAuthToken(Guid userId)
    {
      var token = _tokenService.GenerateToken(userId);
      var r = new HttpOkObjectResult(token);
    
      Response.Headers.Add("Token", token.AuthToken);
      Response.Headers.Add("TokenExpiry", ConfigurationManager.AppSettings["AuthTokenExpiry"]);
      Response.Headers.Add("Access-Control-Expose-Headers", "Token,TokenExpiry");
    
      return r;
    }
    

    或者简单的Ok方法

    public ObjectResult GetAuthToken(Guid userId)
    {
      var token = _tokenService.GenerateToken(userId);
      Response.Headers.Add("Token", token.AuthToken);
      Response.Headers.Add("TokenExpiry", ConfigurationManager.AppSettings["AuthTokenExpiry"]);
      Response.Headers.Add("Access-Control-Expose-Headers", "Token,TokenExpiry");
    
      return Ok(token);
    }
    

    Here 是从 Web Api 2 MVC 6 转换的示例列表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-10
      • 1970-01-01
      相关资源
      最近更新 更多