iris/_benchmarks/netcore-sessions/Startup.cs
kataras 15feaf0237 Update to version 8.5.5 | Read HISTORY.md
Former-commit-id: dced7d472edabbab4f80c76051f13261928a8dea
2017-11-02 05:54:33 +02:00

83 lines
2.7 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.AspNetCore.Routing;
using Microsoft.AspNetCore.Http;
namespace netcore_sessions
{
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
services.AddRouting();
// Adds a default in-memory implementation of IDistributedCache.
services.AddDistributedMemoryCache();
services.AddSession(options =>
{
options.Cookie.Name = ".cookiesession.id";
options.Cookie.HttpOnly = true;
options.IdleTimeout = TimeSpan.FromMinutes(1);
});
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
var routeBuilder = new RouteBuilder(app);
routeBuilder.MapGet("setget", context =>{
context.Session.SetString("key", "value");
var value = context.Session.GetString("key");
if (String.IsNullOrEmpty(value)) {
return context.Response.WriteAsync("NOT_OK");
}
return context.Response.WriteAsync(value);
});
/*
Test them one by one by these methods:
routeBuilder.MapGet("get", context =>{
var value = context.Session.GetString("key");
if (String.IsNullOrEmpty(value)) {
return context.Response.WriteAsync("NOT_OK");
}
return context.Response.WriteAsync(value);
});
routeBuilder.MapPost("set", context =>{
context.Session.SetString("key", "value");
return context.Response.WriteAsync("OK");
});
routeBuilder.MapDelete("del", context =>{
context.Session.Remove("key");
return context.Response.WriteAsync("OK");
});
*/
var routes = routeBuilder.Build();
app.UseSession();
app.UseRouter(routes);
}
}
}