asp.net core会话session设置滑动过期时间

微软asp.net core帮助文档
asp.net core会话
https://learn.microsoft.com/zh-cn/aspnet/core/fundamentals/app-state?view=aspnetcore-8.0

Program.cs 文件中,核心代码:

builder.Services.AddSession(options => { //滑动过期时间,空闲多长时间没有操作会过期;options.IdleTimeout = TimeSpan.FromSeconds(30);
});

Program.cs 完整代码

using Microsoft.AspNetCore.Authentication;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Controllers;
using Microsoft.AspNetCore.Mvc.Filters;
using Microsoft.AspNetCore.Mvc.ModelBinding;
using Microsoft.CodeAnalysis;
using Microsoft.Extensions.FileProviders;
using Microsoft.Extensions.Options;
using Newtonsoft.Json;
using System.Text.Encodings.Web;
using System.Text.Json;
using System.Text.Unicode;
using WebProjectNet7;
using WebProjectNet7.DataBaseEntity.Tool;
using WebProjectNet7.DependencyInjection;
using WebProjectNet7.Handler;
using WebProjectNet7.IBLL;
using WebProjectNet7.IBLL_impl;
using WebProjectNet7.IDAO;
using WebProjectNet7.IDAO_impl;
using WebProjectNet7.ViewEntity;var builder = WebApplication.CreateBuilder(args);//依赖注入,注册接口,修改时间:2024-2-19 13:45:17,
ServicesRegister.Register(builder);// Views视图文件输出到发布目录
//builder.Services.AddRazorPages().AddRazorRuntimeCompilation();
builder.Services.AddRazorPages();builder.Services.AddControllersWithViews(ops =>
{//全局异常过滤器,注册ops.Filters.Add<ExceptionFilter>();
})// Views视图文件输出到发布目录.AddRazorRuntimeCompilation().AddNewtonsoftJson(options =>
{options.SerializerSettings.ContractResolver = new Newtonsoft.Json.Serialization.DefaultContractResolver();
});builder.Services.AddSession(options => { //滑动过期时间,空闲多长时间没有操作会过期;options.IdleTimeout = TimeSpan.FromSeconds(30);
});builder.Services.AddHttpContextAccessor();
//解决输入页面中文被编码了
builder.Services.AddSingleton(HtmlEncoder.Create(UnicodeRanges.All));// 添加 CORS 支持,允许跨域
builder.Services.AddCors(options =>
{options.AddPolicy("AllowAnyOrigin",builder =>{builder.AllowAnyOrigin()     // 允许任何来源.AllowAnyHeader()     // 允许任何头部.AllowAnyMethod();    // 允许任何 HTTP 方法});
});var app = builder.Build();if (!app.Environment.IsDevelopment())
{app.UseExceptionHandler("/Home/Error");
}
// 启用 CORS 中间件
app.UseCors("AllowAnyOrigin");app.UseStaticFiles();app.UseRouting();string dir = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, MyConfigReader.GetConfigValue("uploadFilefolder"));
if (!System.IO.Directory.Exists(dir))
{System.IO.Directory.CreateDirectory(dir);
}string direxport = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, MyConfigReader.GetConfigValue("exportFilefolder"));
if (!System.IO.Directory.Exists(direxport))
{System.IO.Directory.CreateDirectory(direxport);
}
//配置静态文件,暴露在http管道中,以供浏览器访问
app.UseStaticFiles(new StaticFileOptions()
{RequestPath = new PathString("/" + MyConfigReader.GetConfigValue("uploadFilefolder")),FileProvider = new PhysicalFileProvider(dir)
});app.UseStaticFiles(new StaticFileOptions()
{RequestPath = new PathString("/" + MyConfigReader.GetConfigValue("exportFilefolder")),FileProvider = new PhysicalFileProvider(direxport)
});app.UseAuthorization();app.UseSession();app.MapControllerRoute(name: "default",pattern: "{controller=Home}/{action=Index}/{id?}");AppServicesHelpter.App = app;app.Run();

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/57487.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qt开发-----线程调度

目录 前言 一、Linux下查看进程的情况 二、线程的创建 三、多线程的创建和使用 前言 以下引用内容源自正点原子Qt开发指南文档。 我们写的一个应用程序&#xff0c;应用程序跑起来后一般情况下只有一个线程&#xff0c;但是可能也有特殊情况。比如我们前面章节写的例程都跑…

让你的单细胞数据动起来!|iCellR(一)

今天在翻阅single cell 的github时候&#xff0c;我看见了这个R包&#xff0c;允许我们处理各种来自单细胞测序技术的数据&#xff0c;如scRNA-seq&#xff0c;scVDJ-seq和CITE-Seq。 单细胞转录组教程汇总 想看整套的学习流程还可以戳这里&#xff1a; https://vimeo.com/3…

CSS综合案例——新闻详情

一、知识点 1、文字颜色 属性名&#xff1a;color 属性值&#xff1a; 颜色表示方式属性值说明使用场景颜色关键字颜色英文单词red,green,blue学习测试rgb表示法rg(r,g,b)r,g,b表示红绿蓝三原色&#xff0c;取值0-255了解rgba表示法rgba(r,g,b,a)a表示透明度&#xff0c;取…

C#WPF的App.xaml启动第一个窗体的3种方式

WPF的App.xaml启动第一个窗体的3种方式 1.使用App.xaml的StartupUri属性启动&#xff08;推荐使用&#xff09; 在App.xaml文件中&#xff0c;你可以设置StartupUri属性来指定启动时显示的第一个窗口&#xff1a; <Application x:Class"浅看一眼WPF.App"xmlns&…

sed工具的基本使用

文章目录 sed工具介绍什么是sed工具&#xff0c;有什么用sed命令执行流程sed是按行读取文件的每当读取一行内容&#xff0c;都会进行一次判断&#xff0c;判断是否是想要的行默认不实质改变文件内容&#xff0c;仅临时输出给用户看&#xff08;除非加-i选项&#xff09;例1 例2…

1024 程序员节:代码铸就的科技传奇,节日快乐

一、1024 程序员节的起源与发展 国际程序员节起源于俄罗斯&#xff0c;其设立的日期是每年的第 256 天&#xff0c;平年为 9 月 13 日&#xff0c;闰年为 9 月 12 日。256 这个数字对程序员来说意义非凡&#xff0c;1 个字节等于 8 位元&#xff0c;最多能表示 256 个数值&…

[LeetCode] 230. 二叉搜索树中第K小的元素

题目描述&#xff1a; 给定一个二叉搜索树的根节点 root &#xff0c;和一个整数 k &#xff0c;请你设计一个算法查找其中第 k 小的元素&#xff08;从 1 开始计数&#xff09;。 示例 1&#xff1a; 输入&#xff1a;root [3,1,4,null,2], k 1 输出&#xff1a;1示例 2&am…

河源市社保卡照片要求及手机自拍拿数码相片回执的方法

河源市的居民在申请或更新社保卡时&#xff0c;需要提交一张符合特定要求的照片。如果您需要更新或申请社保卡&#xff0c;本文将为您详细介绍河源市社保卡照片的规格要求&#xff0c;并指导您如何通过手机自拍获取符合标准的社保卡照片及回执。 根据河源市社保局的指南&#x…

jconsole或者jvisual连接服务器Java进程

java -Djava.rmi.server.hostname你的ip-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port一个新的端口&#xff0c;不能和项目端口一样-Dcom.sun.management.jmxremote.sslfalse -Dcom.sun.management.jmxremote.authenticatefalse -Dcom.sun.management.j…

深度解读:Spring.3版本自动装配机制的演变与实践

前言 今天&#xff0c;我们将开启对Spring-AI系列源码的讲解。请大家不急不躁&#xff0c;我会逐步深入&#xff0c;每次专注于一个知识点&#xff0c;以防让人感到困惑。 首先&#xff0c;源码的讨论自然离不开自动装配。有人可能会问&#xff0c;之前已经讲解过这个内容了&…

【CVPR 2025】1 论文模板中文版详细指南:从格式到提交要求

【CVPR 2025】1 论文模板中文版详细指南&#xff1a;从格式到提交要求 写在最前面1. 论文类型和使用的模板2. 摘要部分格式3. 论文正文格式要求4. 页边距和页码设置5. 标题与字体规范6. 数学公式和引用7. 脚注与参考文献8. 图表与颜色的使用9. 最终版本提交要求10. 补充材料的处…

Python网络爬虫入门指南

Python网络爬虫入门指南 网络爬虫&#xff08;Web Crawler&#xff09;&#xff0c;又称为网络蜘蛛&#xff08;Web Spider&#xff09;&#xff0c;是一种自动化程序&#xff0c;能够遍历互联网上的网页&#xff0c;收集并提取所需的数据。Python作为一种功能强大且易于学习…

一、Python基础语法(有C语言基础速成版)

在python中&#xff0c;变量是没有类型的&#xff0c;变量存储的数据是有类型的 可以把变量当做一个存放物品的盒子 一、字面量 字面量&#xff1a;在代码中&#xff0c;被写下来的 固定的值 python中常见的值的类型 二、注释 # 我是单行注释&#xff0c;一般要加个空格&a…

1024程序员日,让世界没有BUG!

近年来&#xff0c;电子商务、远程教育、智慧城市、智慧医疗等计算机互联网的新应用不断涌现且蓬勃发展。信息技术日益广泛地深入到社会生产、生活中各个领域。IT产业在数字化革命浪潮中&#xff0c;则以更高、更快、更强的速度向前发展着。这些都离不开程序员在背后默默付出。…

通过热成像技术在地球之外成长,在教室之外学习

“有了正确的心态&#xff0c;任何年龄的人都可以成为科学家” 。这是一位老师通过一项名为“Growing Beyond Earth”的研究项目教他六年级学生的内容&#xff0c;这让他们有机会测试不同植物在空间站上生长的可行性。借助科学方法和热成像相机等专业测量工具&#xff0c;这些学…

STM32实现毫秒级时间同步

提起“时间同步”这个概念&#xff0c;大家可能很陌生。一时间搞不清楚是什么意思。 我理解“时间同步”可以解决多个传感器采集数据不同时的问题&#xff0c;让多个传感器同时采集数据。 打个比方。两个人走路&#xff0c;都是100毫秒走一步&#xff08;频率相同是前提&…

面试总结一

面试总结 1、自我介绍一下自己2.面试11、css常用布局有哪些2、css常用的属性3.js原型链4、开发中遇到的技术难点5、闭包6、ts了解什么呢7.git都用什么命令8、vue怎么打包9.vue启动一个项目需要什么10、vue怎么创建一个项目 2.面试21.vue2和vue3有什么区别2.复杂组件的封装&…

七、数据库服务器(MySQL、PostgreSQL)的搭建

Linux 数据库服务器&#xff08;MySQL、PostgreSQL&#xff09;搭建全攻略 在当今的信息技术领域&#xff0c;数据库服务器的搭建是许多开发者和系统管理员必须掌握的技能。本文将详细介绍在 Linux 系统上搭建 MySQL 和 PostgreSQL 数据库服务器的步骤&#xff0c;并包括数据导…

【STM32开发笔记】移植AI框架TensorFlow到STM32单片机【DSP指令加速篇】

【STM32开发笔记】移植AI框架TensorFlow到STM32单片机【DSP指令加速篇】 一、前文回顾二、CMSIS-NN简介2.1 为什么介绍CMSIS-NN&#xff1f;2.2 CMSIS-NN是什么&#xff1f;2.3 CMSIS-NN核心特性2.4 CMSIS-NN算子支持 三、TFLMCMSIS-NN集成3.1 包含TFLM的STM32项目3.2 理解TFLM…

windows连接linux服务器上的jupyter lab

文章目录 服务器上开启jupyter lab本地cmd将端口8888映射到服务器的8889上本地浏览器打开8888端口 服务器上开启jupyter lab jupyter-lab --ip 0.0.0.0 --port 8889 --no-browser --allow-root本地cmd将端口8888映射到服务器的8889上 ssh -N -f -L localhost:8888:localhost:…