日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
如何處理ASP.NETCore中的cookie?

cookie是通常用于存儲有關(guān)用戶信息的一條數(shù)據(jù),存儲在用戶的計算機上。在大多數(shù)瀏覽器中,每個cookie都存儲為一個小文件,但在Firefox中,它們一起存儲在一個文件中。 cookie表示為鍵值對,你可以利用鍵來讀取、寫入或刪除cookie。

創(chuàng)新互聯(lián)是一家專業(yè)提供大東企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計制作、成都網(wǎng)站建設(shè)、H5響應(yīng)式網(wǎng)站、小程序制作等業(yè)務(wù)。10年已為大東眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進行中。

ASP.NET Core使用cookie來維護會話狀態(tài)。包含會話ID的cookie隨每個請求一起發(fā)送到客戶端。本文討論了如何處理ASP.NET Core中的cookie。

若要使用本文提供的代碼示例,你應(yīng)該在系統(tǒng)中安裝Visual Studio 2019。如果還沒有一份,可以在此處下載Visual Studio 2019(https://visualstudio.microsoft.com/downloads/)。

在Visual Studio中創(chuàng)建ASP.NET Core MVC項目

先不妨在Visual Studio 2019中創(chuàng)建一個ASP.NET Core MVC項目。假設(shè)系統(tǒng)中已安裝Visual Studio 2019,請按照以下概述的步驟,在Visual Studio中創(chuàng)建一個新的ASP.NET Core MVC項目。

  1. 啟動Visual Studio IDE。
  2. 點擊“創(chuàng)建新項目”。
  3. 在“創(chuàng)建新項目”窗口中,從顯示的模板列表中選擇“ASP.NET Core Web應(yīng)用程序”。
  4. 點擊“下一步”。
  5. 在“配置新項目”窗口中,指定新項目的名稱和位置。
  6. 可選情況下,選中“將解決方案和項目放在同一個目錄中”復(fù)選框。
  7. 點擊“創(chuàng)建”。
  8. 在接下來顯示的“創(chuàng)建新的ASP.NET Core Web應(yīng)用程序”窗口中,從頂部下拉列表中選擇.NET Core作為運行時環(huán)境,并選擇ASP.NET Core 2.2(或更高版本)。
  9. 選擇“Web應(yīng)用程序(Model-View-Controller)”作為項目模板,以創(chuàng)建新的ASP.NET Core MVC應(yīng)用程序。
  10. 確?!皢⒂肈ocker支持”和“配置HTTPS”這兩個復(fù)選框未勾選,因為我們在這里不會使用這些功能。
  11. 確?!吧矸蒡炞C”設(shè)置為“不進行身份驗證”,因為我們在這里也不會使用身份驗證。
  12. 點擊“創(chuàng)建”。

現(xiàn)在,你應(yīng)該已經(jīng)準(zhǔn)備好在Visual Studio中使用一個新的ASP.NET Core MVC項目。我們將在本文的后續(xù)部分使用該項目。

在ASP.NET Core中讀取cookie

你可以從Request.cookies集合讀取cookie。下面的代表片段說明了如何從ASP.NET Core中的Request對象讀取cookie。

 
 
 
  1. string cookie = Request.Cookies["Key"]; 

如果你想指定cookie的到期失效時間,可以使用Append方法的重載版本,如下面給出的代碼片段所示。 

 
 
 
  1. CookieOptions option = new CookieOptions();  
  2. option.Expires = DateTime.Now.AddMilliseconds(10);  
  3. Response.Cookies.Append(key, value, option); 

cookieOptions類使你可以在創(chuàng)建cookie時指定以下額外屬性:

  • 域—用于指定與cookie有關(guān)的域
  • 到期失效時間—用于指定cookie的到期失效時間
  • 路徑—用于指定cookie路徑
  • 安全策略—用于指定cookie是否可以通過HTTPS來訪問
  • HttpOnly—用于指定cookie是否僅對服務(wù)器可用

在ASP.NET Core中寫入cookie

想寫入cookie,你可以利用與Request對象有關(guān)的Append方法。以下代碼片段說明了如何做到這一點。

 
 
 
  1. Response.Cookies.Append(somekey, somevalue); 

在ASP.NET Core中刪除cookie

若要刪除cookie,可以使用與Request對象有關(guān)的cookies集合的Delete方法。以下代碼片段說明了如何做到這一點。

 
 
 
  1. Response.Cookies.Delete(somekey); 

在ASP.NET Core中訪問HttpContext

在本節(jié)中,我們將介紹如何在ASP.NET Core中處理cookie數(shù)據(jù)。我們需要訪問HttpContext才能訪問Request對象。你可以使用IHttpContextAccessor接口,訪問ASP.NET Core中的HttpContext。HttpContextAccessor類實現(xiàn)該接口。

首先,你應(yīng)該注冊IHttpContextAccessor用于依賴項注入。以下代碼片段說明了如何在Startup類的ConfigureServices方法中添加類型HttpContextAccessor的單一服務(wù)。 

 
 
 
  1. public void ConfigureServices(IServiceCollection services)  
  2. {  
  3. services.AddSingleton  
  4. HttpContextAccessor>();  
  5. //Other code  

你可以利用依賴項注入來獲得IHttpContextAccessor實例的引用。這將反過來為你提供HttpContext的引用。

以下代碼片段說明了如何訪問控制器中的IHttpContextAccessor實例。請注意,當(dāng)你在Visual Studio中創(chuàng)建新的ASP.NET Core MVC項目后,默認情況下將創(chuàng)建HomeController。 

 
 
 
  1. public class HomeController : Controller  
  2. {  
  3. private readonly IHttpContextAccessor _httpContextAccessor;  
  4. public HomeController(IHttpContextAccessor httpContextAccessor)  
  5.  this._httpContextAccessor = httpContextAccessor;  
  6. }  
  7. //Write your action methods here  

在ASP.NET Core控制器方法中寫入cookie數(shù)據(jù)

你可以使用以下方法在控制器中寫入cookie數(shù)據(jù)。 

 
 
 
  1. public IActionResult Write(string key, string value, bool isPersistent)  
  2. {  
  3. CookieOptions options = new CookieOptions();  
  4. if (isPersistent)  
  5. options.Expires = DateTime.Now.AddDays(1);  
  6. else  
  7. options.Expires = DateTime.Now.AddSeconds(10);  
  8. _httpContextAccessor.HttpContext.Response.Cookies.Append  
  9. (key, value, options);  
  10. return View("WriteCookie");  

在ASP.NET Core控制器方法中讀取cookie數(shù)據(jù)

一旦cookie數(shù)據(jù)成功寫入,可以使用以下方法在控制器中讀取cookie數(shù)據(jù)。 

 
 
 
  1. public IActionResult Read(string key)  
  2. {  
  3. ViewBag.Data =  
  4. _httpContextAccessor.HttpContext.Request.Cookies[key];  
  5. return View("ReadCookie");  

要檢查cookie是否已正確寫入,可以查看Web瀏覽器的cookie緩存。


文章標(biāo)題:如何處理ASP.NETCore中的cookie?
文章網(wǎng)址:http://www.5511xx.com/article/coghpso.html