2017-08-02 53 views
0

瀏覽器確認存在curvlistguestuser Cookie。然而,當我得到的guestuser它具有正確的價值:Cookie在asp.net核心中未正確讀取

string Guest = Request.Cookies["guestuser"]; 

但餅乾curvlist是空的:

enter image description here enter image description here enter image description here

唯一的區別是,guestuser在服務器端創建,但是由javascript創建的curvlist。但它沒有任何與閱讀餅乾

回答

0

爲cookie測試不同的值,我發現了一些非常愚蠢的東西(糾正我,如果我錯了):顯然Cookie名稱和值由逗號分隔,所以有逗號中的逗號會導致逗號後剩餘的值丟失(在我的情況下,以逗號開頭會導致空值)。我將cookie中的分隔符更改爲$而不是,,現在我獲得了正確的值。

但是爲什麼Asp.net讀取cookies這種方式呢? (請注意,在JavaScript中使用逗號分隔值讀取Cookie時沒有問題。

0

CookieManager:ASP.Net位於HTTP Cookie之上的核心抽象層。用於讀取和寫入Cookie的ASP.NET Core Wrapper。它擁有流暢的API和易用性

https://github.com/nemi-chand/CookieManager

靜音功能:。

  1. 它的界面允許您與通用對象玩你不必去關心一下C或者連續化。
  2. :使用安全算法,cookie數據受機器密鑰保護。有關數據保護的更多信息。
  3. 有簡單的選項來配置CookieManager。只需在配置服務中添加CookieManager即可。
  4. 易於使用:該接口允許放心使用的讀取和寫入HTTP cookie的

看一看