我有一個身份驗證cookie,在我登錄屏幕後在本地環境中設置。該cookie已被設置爲永久性的,並且將來有7天的超時期限。是否有可能在Visual Studio調試會話之間保持Cookie
當我結束我的調試會話,並開始調試陸續建立cookie是不存在的。這發生在每個瀏覽器上。調試會話完成後,有沒有辦法讓Visual Studio記住持久cookie?
我有一個身份驗證cookie,在我登錄屏幕後在本地環境中設置。該cookie已被設置爲永久性的,並且將來有7天的超時期限。是否有可能在Visual Studio調試會話之間保持Cookie
當我結束我的調試會話,並開始調試陸續建立cookie是不存在的。這發生在每個瀏覽器上。調試會話完成後,有沒有辦法讓Visual Studio記住持久cookie?
我發現的解決方案是讓.NET Core MVC的新實例不會在全新的窗口中打開,而是在現有的窗口中打開。我換了一個設定
1)工具菜單 2)選項... 3)調試>常規 4)取消選中 「啓用ASP.NET JavaScript調試」
當我運行與F5應用一個實例在現有的chrome實例中啓動,我可以重用已經存在的cookie。檢查該盒子後,它總是會打開一個新的Chrome實例,而Cookie不存在。
讓我們快速瀏覽一下如何做餅乾持久性
//Creting a Cookie Object
HttpCookie _userInfoCookies = new HttpCookie("UserInfo");
//Setting values inside it
_userInfoCookies["UserName"] = "Abhijit";
_userInfoCookies["UserColor"] = "Red";
_userInfoCookies["Expire"] = "5 Days";
//Adding Expire Time of cookies
_userInfoCookies.Expires = DateTime.Now.AddDays(5);
//Adding cookies to current web response
Response.Cookies.Add(_userInfoCookies);
現在,一旦你已經設置與餅乾到期時,它會被存儲在硬盤驅動器,直至到期或用戶手工刪除或清除所有餅乾。如果您希望您的Cookie需要在您之前提到的到期時間之前過期,則您只需覆蓋Cookie信息即可。
HttpCookie _userInfoCookies = new HttpCookie("UserInfo");
//Adding Expire Time of cookies before existing cookies time
_userInfoCookies.Expires = DateTime.Now.AddDays(-1);
//Adding cookies to current web response
Response.Cookies.Add(_userInfoCookies);
所以就工作到期。 並看看This
我實際上已經設置了cookie的到期。如果您查看上面的圖片,我將在未來7天內設置到期日。我使用了上面列出的相同代碼,創建了cookie,停止了visual studio,然後再次啓動它。該cookie沒有持續。 VS在調試會話後繼續刪除它們。 – aokelly
於是把它們寫入文件一起調試。 – AminAmiriDarban
假設你是在IIS下使用VS和ASPNET 4.5或核1.0/2.0,檢查調試輸出在啓動時,你可能會看到:
「無論是用戶個人資料,也HKLM註冊表可用。使用臨時密鑰庫。 「
這是由IIS使用的DataProtection鍵造成的。按照這個short blog post來解決
一些餅乾肯定存在。我通過在VS2017中運行一個項目打開了一個調試瀏覽器,登錄到另一個設置cookie的應用程序。關閉VS2017。重新打開該項目,cookie仍然存在。你的問題可能會更微妙 –
你如何讀寫Cookies?你是不是陷入了使用響應對象的菜鳥錯誤?你使用「Form」標籤嗎?您是否使用開發工具來確定cookie已丟失或請顯示代碼? –
請添加一些代碼,顯示您如何閱讀和編寫cookies –