• λ我爱Aspx >> Asp.Net >> 在ASP.NET中实现会话状态基础
  • 在ASP.NET中实现会话状态基础

  • :aspxer  Դ:internet  :2007-5-20 16:33:00  ؼ:.net,asp.net,asp
  • 在ASP.NET中实现会话状态基础

    BR>

    在 Web 应用程序这样的无状态环境中,了解会话状态的概念并没有实际的意义。尽管如此,有效的状态管理对于大多数 Web 应用程序来说都是一个必备的功能。Microsoft ASP.NET 以及许多其他服务器端编程环境都提供了一个抽象层,允许应用程序基于每个用户和每个应用程序存储持久性数据。

    需要特别注意的是,Web 应用程序的会话状态是应用程序在不同的请求中缓存和检索的数据。会话表示用户在与该站点连接期间发送的所有请求,会话状态是用户在会话期间生成和使用的持久性数据的集合。每个会话的状态都彼此独立,而且在用户会话结束时就不复存在了。

    会话状态与构成 HTTP 协议和规范的任何逻辑实体都没有对应关系。会话是由服务器端开发环境(例如传统的 ASP 和 ASP.NET)构建的抽象层。ASP.NET 展示会话状态的方式以及会话状态的内部实现方式都取决于平台的基础结构。因此,传统的 ASP 和 ASP.NET 以完全不同的方式来实现会话状态,预计在下一版的 ASP.NET 中会有进一步的改进和增强。

    本文讨论如何在 ASP.NET 1.1 中实现会话状态,以及如何在被管理的 Web 应用程序中优化会话状态管理。

    ASP.NET 会话状态概述

    会话状态并不是 HTTP 基础结构的一部分。也就是说,应该有一个结构组件将会话状态与每个传入请求绑定在一起。运行时环境(传统的 ASP 或 ASP.NET)能够接受 Session 之类的关键字,并使用它指示服务器上存储的数据块。要成功解析 Session 对象的调用,运行时环境必须将会话状态添加到正在处理的请求的调用上下文中。完成此操作的方式因平台而异,但它是有状态 Web 应用程序的基础操作。

    在传统的 ASP 中,会话状态是作为 asp.dll 库中包含自由线程 COM 对象来实现的。(您对此很好奇吗?其实该对象的 CLSID 是 D97A6DA0-A865-11cf-83AF-00A0C90C2BD8。)此对象存储以名称/值对集合的方式组织的数据。“名称”占位符表示用来检索信息的关键字,而“值”占位符表示会话状态中存储的内容。名称/值对按照会话 ID 进行分组,这样,每个用户看到的只是他/她自己创建的名称/值对。

    Ҷƪл˵?
  • һƪ用asp.net和xml做的新闻更新系统(1)
    һƪ用asp.net和xml做的新闻更新系统(2)