CookieManager is an ASP.NET Core Abstraction layer on top of Cookie
ASP.Net Core Abstraction layer on top of Cookie . ASP.NET Core Wrapper to read and write the cookie.
Build server | Platform | Status |
---|---|---|
AppVeyor | Windows | |
Travis | Linux / MacOS | |
Azure Pipelines | Windows / Linux / MacOS |
If you like or are using this project please give it a star. Thanks!
<TResult>
support :Encapsulates a method, which returns a value of the type specified by the TResult parameterNuget Package : https://www.nuget.org/packages/CookieManager/
Install-Package CookieManager
.NET CLI
dotnet add package CookieManager --version 2.0.0
public class MyCookie
{
public string Id { get; set; }
public DateTime Date { get; set; }
public string Indentifier { get; set; }
}
// Get the myCookie object
MyCookie objFromCookie = _cookieManager.Get<MyCookie>("Key");
// Set the myCookie object
MyCookie cooObj= new MyCookie()
{
Id = Guid.NewGuid().ToString(),
Indentifier = "valueasgrsdgdf66514sdfgsd51d65s31g5dsg1rs5dg",
Date = DateTime.Now
};
_cookieManager.Set("Key", cooObj, 60);
// Get or set <T>
// CookieOption example
MyCookie myCook = _cookieManager.GetOrSet<MyCookie>("Key", () =>
{
// Write function to store output in cookie
return new MyCookie()
{
Id = Guid.NewGuid().ToString(),
Indentifier = "valueasgrsdgdf66514sdfgsd51d65s31g5dsg1rs5dg",
Date = DateTime.Now
};
}, new CookieOptions() { HttpOnly = true, Expires = DateTime.Now.AddDays(1) });
// Gets a cookie item associated with key
_cookie.Get("Key");
// Sets the cookie
_cookie.Set("Key", "value here", new CookieOptions() { HttpOnly = true, Expires = DateTime.Now.AddDays(1) });
Add CookieManager in startup class in Configure Service
// Add CookieManager
services.AddCookieManager();
// or
// Add CookieManager with options
services.AddCookieManager(options =>
{
// Allow cookie data to encrypt by default it allow encryption
options.AllowEncryption = false;
// Throw if not all chunks of a cookie are available on a request for re-assembly.
options.ThrowForPartialCookies = true;
// Set null if not allow to devide in chunks
options.ChunkSize = null;
// Default Cookie expire time if expire time set to null of cookie
// Default time is 1 day to expire cookie
options.DefaultExpireTimeInDays = 10;
});