mirror of
https://github.com/kataras/iris.git
synced 2026-01-08 20:41:57 +00:00
.NET Core (no mvc) with Sessions vs Iris (no mvc) with Sessions
Former-commit-id: 04a9660645a824dfbc49414605aeff2b3ff88b55
This commit is contained in:
82
_benchmarks/netcore-sessions/Startup.cs
Normal file
82
_benchmarks/netcore-sessions/Startup.cs
Normal file
@@ -0,0 +1,82 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user