我正在將Web窗體應用程序轉換爲asp.net核心mvc。在我的Web表單應用程序中,有時在我設置了一些響應cookie後,其他代碼需要查看它們是否已設置,如果是,請訪問cookie的屬性(即值,Expires,Secure,http)。在WebForms和MVC 5有可能遍歷餅乾和返回任何特定的餅乾,像這樣(老同學,我知道)如何在Asp.net Core MVC(aka Asp.Net 5 RC1)中檢查響應cookie?
for(int i = 0; i < cookies.Count; i++) {
if(cookies[i].Name == cookieName) {
return cookies[i];
}
}
但在asp.net mvc的核心訪問響應cookie的界面看起來是這樣的:
基於該接口的,我不明白的方式進行檢查,看是否有響應cookie存在並獲得它的屬性。但是有什麼辦法可以做到嗎?
在一個操作方法中,我嘗試在響應對象上設置兩個cookie,然後立即嘗試訪問它們。但智能感知不顯示任何方法,屬性或索引,讓我來訪問它們:
有那麼一刻,我想也許我可以用Response.Cookies.ToString();
,只是解析信息來找到我的餅乾信息,但唉,ToString()
調用返回「Microsoft.AspNet.Http.Internal.ResponseCookies」,因爲該對象不覆蓋默認實現。
爲了好玩,我還檢查了GitHub的當前開發分支,看看自RC1以來界面是否發生了變化,但它沒有。所以給定這個接口,我該如何檢查響應cookie的存在並獲取它的屬性?我想過試圖通過響應標頭集合進行攻擊,但這看起來很蹩腳。
您是否在您的操作方法中嘗試了'Response.Cookies'? –
我有。我會更新這個問題來表明這一點。 –
哦,對不起。我的意思是'Request.Cookies',我的錯誤! –