簡體   English   中英

是否可以在Visual Studio調試會話之間保留cookie

[英]Is it possible to persist cookies between visual studio debug sessions

我有一個身份驗證Cookie,該身份驗證Cookie是在本地環境中單擊登錄屏幕后設置的。 該cookie已設置為永久性,並且已設置為7天的超時時間。

在此處輸入圖片說明

當我結束調試會話並在另一個版本之后開始調試時,cookie不存在。 每個瀏覽器都會發生這種情況。 有沒有一種方法可以讓Visual Studio在調試會話完成后記住持久性cookie?

我發現的解決方案是這樣做,以使.NET Core MVC的新實例不會在全新的窗口中打開,而在現有的窗口中打開。 我更改了一個設置

1)工具菜單2)選項... 3)調試>常規4)取消選中“為ASP.NET啟用JavaScript調試”

當我使用F5運行該應用程序時,實例會在chrome的現有實例中啟動,並且我可以重用已經存在的cookie。 選中該復選框,它將始終打開chrome的新實例,並且不存在cookie。

讓我們快速看一下如何使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。 如果您希望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);

因此,在到期時繼續工作。 看看這個

假設您在IIS下使用VS和ASPNet 4.5或核心1.0 / 2.0,請在啟動時檢查調試輸出,您可能會看到:

“既沒有用戶個人資料,也沒有HKLM注冊表。 使用臨時密鑰存儲庫。 當應用程序退出時,受保護的數據將不可用。”

這是由IIS使用的DataProtection密鑰引起的。 按照這篇簡短的博客文章來解決

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM