ASP.NET的状态管理
为什么要状态管理
B/S与C/S两种架构的有着完全不同的运行机制。C/S基本上所有的软件功能都在客户端(Client)中实现(所以C/S也称为胖客户端架构),服务器端(Server)只提供基础服务,最为典型的是数据库服务提供数据服务。而B/S架构主要的功能在服务端(Server)实现,客户端的浏览器(Browser)只接受用户输入和数据展现。C/S架构的功能都在客户端的一个进程中完成,客户端与服务器端的连接基本上保持同步,只需要记录两者的连接状态而不存在其他的状态要管理。
而在B/S架构中,客户端和服务之间的连接并不保持同步。我们来看看B/S架构客户端与服务器端的交互方式。客户端浏览器每次将网页发送到服务器时,服务器都会创建网页类的一个新的实例。在传统的Web编程中(指那些没有提供内置的状态管理机制的B/S开发平台),这通常意味着在每一次往返过程中,与该页及该页上的控件相关联的信息都会丢失。如用户将信息输入到页面的文本框中,该信息从浏览器传到服务器的往返过程中将丢失,所以状态管理机制成为B/S架构的一个重点。如果我们要深入学习B/S结构,研究其状态管理机制成为必经之路而无法逾越,本文就来探讨当前市场最为流行的B/S架构——ASP.NET框架的状态管理机制。
什么是ASP.NET的状态管理
那么什么是B/S架构的状态管理呢?说白了就是存储页面请求期间的信息,比如购物网站的客户信息或购物车的内容等等。为了解决传统Web编程的固有限制,减少Web开发者的工作量和工作难度,提高开发效率,ASP.NET平台提供了一系列状态选项,使开发者可以按页保留数据和在整个Web应用程序范围内保留数据。
我们也知道在大型的网络应用中,同一个网站可能部署到多台服务器上,针对这种情况,ASP.NET也提供了分布式状态管理功能,使我们能够管理运行在数台服务器上的同一个Web应用程序的多个实例的状态信息。
在Web应用的运行过程中,ASP.NET可以保存和管理Web应用级别(Application)、会话级别(Session)、页面级别(Page)、用户特定和开发人员自定义的信息。具体的来说,ASP.NET提供了如下状态管理选项:
1. 视图状态
2. 控件状态
3. 隐藏域
4. Cookie
5. &nb
相关文档:
今天给客户做了个功能需要把网格数据(Gridview)导出成Execl,所以我去网上找了个代码 private void Export(string FileType, string FileName)
...{
try
...{
Response.Charset = "GB2312";
Response.ContentEncoding = System.Text.Encoding.UTF7;
Response.AppendHeader("Content-Disposition", "att ......
try
{
string _conStr = "Driver={MySQL ODBC 3.51
Driver};server=localhost;database=test;uid=test;password=1;option=3";
& ......
/// <summary>
/// 字符串切割
/// </summary>
/// <param name="p_SrcString"></param>
/// <param name="p_Length"></param>
/// <returns></returns>
public static string GetSubString(string p_SrcString, int ......
asp.net 图片数据库存储详解(例子完整版)
asp.net 图片数据库存储详解(例子完整版)
按照以下的程序代码,经过本人在vs2005上的测试,修改实际可以运行的代码如下:
6个文件
是在一个发布根目录下的test文件夹中测试通过的。
SQL脚本如下:
CREATE TABLE [dbo].[image] (
[image_id] [bigint] IDENTITY ......