/
githubmirror
/
aspnetcore
Обзор
Документация
Войти
/
githubmirror
/
aspnetcore
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/Middleware/Session/samples/Startup.cs
91 строка
3 KB
Shreyas Jejurkar
chore : Remove unwanted `using` statement (#39176)
02 янв 2022, 17:39
Не верифицирован
02 янв 2022, 17:39
c85baf8
Код
Авторство
О чём код?
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace SessionSample; public class Startup { public Startup() { } public void ConfigureServices(IServiceCollection services) { // Uncomment the following line to use the in-memory implementation of IDistributedCache services.AddDistributedMemoryCache(); // Uncomment the following line to use the Microsoft SQL Server implementation of IDistributedCache // and add a PackageReference to Microsoft.Extensions.Caching.SqlServer in the .csrpoj. // Note that this would require setting up the session state database. //services.AddDistributedSqlServerCache(o => //{ // o.ConnectionString = Configuration["AppSettings:ConnectionString"]; // o.SchemaName = "dbo"; // o.TableName = "Sessions"; //}); // Uncomment the following line to use the Redis implementation of IDistributedCache // and add a PackageReference to Microsoft.Extensions.Caching.StackExchangeRedis in the .csrpoj. // This will override any previously registered IDistributedCache service. //services.AddStackExchangeRedisCache(o => //{ // o.Configuration = "localhost"; // o.InstanceName = "SampleInstance"; //}); services.AddSession(o => { o.IdleTimeout = TimeSpan.FromSeconds(10); }); } public void Configure(IApplicationBuilder app) { app.UseSession(); app.Map("/session", subApp => { subApp.Run(async context => { int visits = 0; visits = context.Session.GetInt32("visits") ?? 0; context.Session.SetInt32("visits", ++visits); await context.Response.WriteAsync("Counting: You have visited our page this many times: " + visits); }); }); app.Run(async context => { int visits = 0; visits = context.Session.GetInt32("visits") ?? 0; await context.Response.WriteAsync("<html><body>"); if (visits == 0) { await context.Response.WriteAsync("Your session has not been established.<br>"); await context.Response.WriteAsync(DateTime.Now + "<br>"); await context.Response.WriteAsync("<a href=\"/session\">Establish session</a>.<br>"); } else { context.Session.SetInt32("visits", ++visits); await context.Response.WriteAsync("Your session was located, you've visited the site this many times: " + visits); } await context.Response.WriteAsync("</body></html>"); }); } public static Task Main(string[] args) { var host = new HostBuilder() .ConfigureWebHost(webHostBuilder => { webHostBuilder .ConfigureLogging(factory => factory.AddConsole()) .UseKestrel() .UseIISIntegration() .UseStartup<Startup>(); }).Build(); return host.RunAsync(); } }