Asp.net BASE64中的Cookie编码无法正确发送到服务器

Asp.net BASE64中的Cookie编码无法正确发送到服务器,asp.net,cookies,asp.net-web-api,Asp.net,Cookies,Asp.net Web Api,我使用BASE64对GUID值进行编码并将其添加到cookie中。例如,ecoded guid值为vClFwpDbWE6JPUlnlBXMWg==。当服务器发送响应时,它将添加此cookie。我用Chrome检查,浏览器正确接收该值。但是当浏览器发送另一个请求时,cookie值从HttpRequestMessage的cookie更改为“vClFwpDbWE6JPUlnlBXMWg”,为什么会删除一些字符 我将WebAPI2、MVC5与IIS7.5一起使用。ASP.NET看到cookie中的“=”

我使用BASE64对GUID值进行编码并将其添加到cookie中。例如,ecoded guid值为
vClFwpDbWE6JPUlnlBXMWg==
。当服务器发送响应时,它将添加此cookie。我用Chrome检查,浏览器正确接收该值。但是当浏览器发送另一个请求时,cookie值从HttpRequestMessage的cookie更改为“
vClFwpDbWE6JPUlnlBXMWg
”,为什么会删除一些字符


我将WebAPI2、MVC5与IIS7.5一起使用。

ASP.NET看到cookie中的“=”字符,并假设它是一个多值cookie(请参阅相关问题)

最好将GUID按原样存储在cookie中,例如,使用GUID.ToString()将GUID转换为十六进制字符串,使用新GUID(字符串)将十六进制字符串转换回GUID。或者,如果您真的需要将其压缩到Base64,请考虑使用HTTPSServer实用工具和方法。这些方法使用的编码与BASE64非常相似,但不使用ASP.NET专门处理的“+”和“=”等字符