• Asp.NetCore Web开发之会话技术


    这节讲一下会话技术,首先了解一下什么是会话,会话是指浏览器打开到关闭的过程中,多次与服务器发送接收数据的过程。

        由于HTTP是无状态协议,一次请求响应过后,产生的数据就随之释放了,可是在某些情况下,我们希望服务器保存我们的一些数据,方便下次请求(比如网站的账户登录信息,等等)。如果要保存这些发送中的数据,就要用到会话技术(Cookie技术本节不涉及),服务器会将每个浏览器的单独标识,将每个浏览器需要保存的数据,保存下来,当下次需要这些保存的数据,就可以取出来用。

        正式点说,会话技术(Session)服务器端保存浏览器请求数据的一项技术,数据是以键值对的形式保存到服务器内存中,可以解决无状态协议带来的弊端,减少每次请求的数据量,提高了性能。

        

        接下来,了解一下,如何在ASP.NetCore中配置使用会话技术

        首先需要先配置一下,在startup文件中配置一下Session服务,然后添加Session中间件,需添加在路由中间件之前

    //启用内存缓存(该步骤需在AddSession()调用前使用)
    services.AddDistributedMemoryCache();//启用session之前必须先添加内存
    services.AddSession(options =>
    {
    options.Cookie.Name = ".AdventureWorks.Session";
    options.IdleTimeout = TimeSpan.FromSeconds(2000);//设置session的过期时间
    options.Cookie.HttpOnly = true;//设置在浏览器不能通过js获得该cookie的值
    });

    app.UseHttpsRedirection();
      app.UseStaticFiles();
      app.UseSession();//添加会话中间件
      app.UseRouting();//路由中间件
      app.UseAuthorization();

        配置好了以后,通过Http上下文对象就可以使用了。要引用如下命名空间,需要其中的Session对象的支持。

    using Microsoft.AspNetCore.Http;

        写入数据的方法有三种:

     

        Set是写入byte[] ,后两者见名知意,对应的获取数据的方法也有三种

    这是我的个人公众号,最新的文章都在此公众号发布

  • 相关阅读:
    树莓派/Debian 搭建 FTP 服务器
    树莓派/Debian “无法定位软件包 mod_ssl” 问题解决方案
    树莓派/Debian HTTP 到 HTTPS 端口重定向
    树莓派/Debian 搭建ownCloud私有云网盘
    树莓派/Debian 构建 LAMP Web 服务器并搭建 WordPress 博客(二)
    改进一维搜索
    实现共轭梯度法蒙皮模拟
    基本实现蒙皮模拟
    实现权重计算
    把状态保存
  • 原文地址:https://www.cnblogs.com/charlesmvp/p/13360572.html
Copyright © 2020-2023  润新知