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
相关文档:
缓存是把应用程序中的需要频繁、快速访问的数据保存在内存中的编程技术,通常用来提高网络的响应速度。在ASP.NET中使用Cache类来管理缓存。下面详述控件级数据缓存功能和页面级数据缓存功能的实现:
(1)数据库缓存依赖
数据库缓存依赖由SqlCacheDependency类管理;
数据库缓存依赖的优点:
1、提高数据呈现速度,每次获 ......
ASP.NET打开新窗口方法一:
Response.Write(" <script language=\"javascript\">window.open('aaa.aspx','新窗口,\"toolbar=yes,location=no,directories=yes,status=yes,menubar=yes,resizable=yes,scrollbars=yes\"); </script>");
这种方式代码每次是生成在页面最顶端
ASP.NET打开新窗口方法二:
stri ......
string path = "...\\Debug\\log.txt";
if (!File.Exists(path))
& ......
常用函数系列:
public static string Get_ClientIP() 得到客户端IP
public static string Get_CMac(string IP) 得到客户端 CMac 地址
public static string RequestF(string xPName,string xPType,int xLenDef) 安全接收数据系列
public static string Show_Cont(string xStr) 过滤显示字串
public static str ......