如何使用带子域的cookie

时间:2017-10-01 23:40:48

标签: c# asp.net asp.net-web-api cookies postman

我有一种情况,我想使用这两个子域 app.example.com ASP.NET )和 appapi.example的cookie。 com Web API )。我可以使用这样的API成功设置cookie:

dijit/Form/FilteringSelect

我正在使用 Postman ,我在Cookie标签下看到了这样的回复:

public HttpResponseMessage Get()
{
            ...
            var result = jsonHelper.setHttpResponseMessage(obj);

            List<CookieHeaderValue> cookies = new List<CookieHeaderValue>();
            NameValueCollection values = new NameValueCollection();

            values["Value1"] = value1;
            values["Value2"] = value2;
            values["Value3"] = value3;
            CookieHeaderValue cookie = new CookieHeaderValue("MyCookie", values);
/*#if DEBUG
                cookie.Domain = Request.RequestUri.Host;
#else*/
                cookie.Domain = ".example.com";  //I made this based on the answers to the questions posted below
//#endif
                cookie.Path = "/";
                cookie.Expires = DateTime.Now.AddHours(1);
                cookie.HttpOnly = true;
                cookies.Add(cookie);
                result.Headers.AddCookies(new CookieHeaderValue[] { cookie });

                return result;
}

然后我使用Postman将cookie发送到 app.example.com/Page.aspx Page.aspx Page_Load 中的代码如下所示:

Name         Value
MyCookie     Value1=2&Value2=test&Value3=val

这里我没有得到我想要的值,这意味着if (!IsPostBack) { if (Request.Cookies["MyCookie"] != null) { var myCookie = Request.Cookies["MyCookie"].Values; var value1 = myCookie["Value1"]; var value2 = myCookie["Value2"]; } ... Request.Cookies["MyCookie"]

我知道上面已经实现的this questionthis one,但它仍然没有解决我的问题。

基于此,我相信可以使用包含2个或更多子域的cookie,因此我需要知道如何正确实现它。

1 个答案:

答案 0 :(得分:1)

https://www.getpostman.com/docs/postman/sending_api_requests/cookies

以上是如何在邮递员中添加cookie的官方文件