1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
using Microsoft.AspNetCore.Hosting; //IWebHostBuilder using Microsoft.AspNetCore.Builder; //IApplicationBuilder using Microsoft.AspNetCore.Http; //WriteAsync using Microsoft.AspNetCore; //webHost namespace WebApplication1 { public class Startup { public void Configure(IApplicationBuilder app) { app.Run(async context => { context.Response.Headers.Add("content-tyep", "text/html"); var deleteCookie = context.Request.Query["delete"]; if(!string.IsNullOrWhiteSpace(deleteCookie)) { context.Response.Cookies.Delete("MyCookie"); await context.Response.WriteAsync($@"Delete cookie. Click <a href=""\"">here</a> to go back to home page."); return; } var cookie = context.Request.Cookies["MyCookie"]; if (string.IsNullOrWhiteSpace(cookie) && context.Request.Path == "/") { context.Response.Cookies.Append ( "MyCookie", "Hello World", new CookieOptions { Path = "/", HttpOnly = false, Secure = false } ); await context.Response.WriteAsync($"Writing a new cookie <br/>Refresh page to see cookie value.<br/>"); } else { await context.Response.WriteAsync($@"Click <a href=""\?delete=1"">here</a> to delete cookie.<br/>"); } }); } } public class Program { public static void Main(string[] args) { CreateWebHostBuilder(args).Build().Run(); } public static IWebHostBuilder CreateWebHostBuilder(string[] args) => WebHost.CreateDefaultBuilder(args) .UseStartup<Startup>() .UseEnvironment("Development"); } } |
결과 ? :Writing a new cookie
Refresh page to see cookie value.
Click here to delete cookie.
Delete cookie. Click here to go back to home page.