Bar*_*tta 2 asp.net cookies asp.net-web-api
我使用BASE64编码GUID值并将它们添加到cookie.例如,ecoded guid值是vClFwpDbWE6JPUlnlBXMWg==.当服务器发送响应时,它将添加此cookie.我查看了Chrome,浏览器正确接收了此值.但是当浏览器发送另一个请求时,cookie值会vClFwpDbWE6JPUlnlBXMWg从HttpRequestMessage的cookie 更改为" ",为什么删除某些字符?
我使用带有IIS7.5的WebAPI2,MVC5.
ASP.NET在cookie中看到'='字符,并假设它是一个多值cookie(请参阅相关问题在cookie中存储多个值).
最好的办法是按原样将GUID存储在cookie中,例如,使用Guid.ToString()将GUID转换为十六进制字符串,使用新的Guid(字符串)将十六进制字符串转换回GUID.或者,如果您确实需要将其浓缩为BASE64,请考虑使用HttpServerUtility的UrlTokenEncode和UrlTokenDecode方法.这些方法使用的编码与BASE64非常相似,但不使用由ASP.NET专门处理的"+"和"="等字符.
| 归档时间: |
|
| 查看次数: |
2071 次 |
| 最近记录: |