【问题标题】:How to add a cookie to DefaultHttpContext如何将 cookie 添加到 DefaultHttpContext
【发布时间】:2016-11-23 08:24:23
【问题描述】:

我有一个期望 HttpRequest 作为参数的函数:

public string Read(HttpRequest req)
{
  if (req.Headers["X-Requested-With"] == "XMLHttpRequest")
  {
    return req.Headers[ConfigurationManager.AppSettings["ajaxsession"]];
  }

  return req.Cookies[ConfigurationManager.AppSettings["cookiename"]];
}

我写了一个单元测试

[Test]
public void ReadSessionToken_BrowserRequest_ExpectSidToken()
{
  var repo = new DefaultHttpContext();
}

我的问题是,如何给repo.Request.Cookies添加cookie?

【问题讨论】:

    标签: c# asp.net unit-testing cookies asp.net-core


    【解决方案1】:

    我没有测试,但在 github repo 中有一个 test 用于设置和获取 cookie:

    var newCookies = new[] { "name0=value0%2C", "%5Ename1=value1" };
    request.Headers["Cookie"] = newCookies;
    

    更新

    经过测试和工作。

    【讨论】:

    • 还有一个问题,什么是 newCookies 的类型,数组?
    • 是一个字符串数组(string[])。
    猜你喜欢
    • 2012-06-25
    • 2019-08-26
    • 1970-01-01
    • 1970-01-01
    • 2012-10-27
    • 1970-01-01
    • 1970-01-01
    • 2021-02-09
    • 2019-12-26
    相关资源
    最近更新 更多