什么是ASP.NET?它有包含几个对象?

如题所述

ASP.NET开发中的五大对象:
在web应用程序运行时,ASP.NET需要收集有关当前用用程序、用户会话以及响应浏览器等方面的信息。为了解决这些问题,在ASP.NET中包含了处理这些信息的类,用于封装这些上下文信息。

ASP.NET中的这些类有HttpResponse, HttpRequest, HttpApplicationState,HttpServer,Utility,HttpSessionState等。它们对应的实例对象是Response,Request,Application,Server,Session,被定义在Page类中,可以通过Page对象直接访问。

Request对象(检索从浏览器发送到服务器的请求信息)。

Request对象用于获取从浏览器向服务器所发送的请求中的信息。当用户单击“提交”按钮时,包含在输入控件中的数据信息将会与表单一起被发送到服务器端。服务器端的Request对象就会读取通过HTTP请求发送的数据。

Request对象使用比较多的是其中的集合,其调用方法如下所示。

Request.Collection["Variable"]

其中的Collection代表集合,其取值有Form,QueryString,ServerVariable,Cookies等集合。Form集合用于收集表单中使用POST方法提交的请求数据,对数据的提取必须是在服务器端进行。而且POST请求必须用Form表单来发送。

QueryString集合的功能与Form集合的功能相似。用来接收使用GET方法提交的数据信息。这种提交方式会将数据列于URL中“?”号的后面,通常称为“URL的附加信息”。反过来,如果一次HTTP请求事件中,被请求程序的URL中带有“?”并且其后面跟有数据列表,则表示此次请求方式为GET 方法。

ServerVariable集合用于获取环境变量,其中包含了服务器和客户端的各种系统信息。其使用格式如下所示。

Request.ServerVariable[参数类型]

Cookies集合在ASP.NET中用于共享数据,它的共享数据存放在客户端系统盘的Documents and Settings\Administrator\Cookies中。用于存放客户端相关的信息数据,如数字、字符串、日期等。每个浏览器都拥有自己的Cookie。它常用于同一计算机,不同浏览器页面之间的数据传递,以达到数据共享的目的。

在ASP、PHP等语言中,如果客户端禁用写入Cookie,则会导致程序不能使用Cookie。但是,在ASP.NET中,可以在Web.config文件中写入如下所示的语句,便可以实现在任何情况下均可写入。

<sessionState cookieless = "true"> </sessionState>

使用Cookie,需要用Reques和Response这两个对象。可以将Cookie看做是这两个对象的子对象。其使用分别为写入数据和读取数据两种。可以使用下面的方法写入和读取“Cookie“中的数据。写入数据的格式如下。

Response.Cookies[Cookie名称].Value = 写入数据;

或者如下。

Response.Cookies[Cookie的索引号].Value = 写入数据;

读取数据如下。

CookiesValue = Request.Cookie["Cookie名称"].Value;

或者如下。

CookiesValue = Request.Cookie["Cookie索引号"].Value;

其中的“Cookie名称”为任意的数字、字符串、日期等对象名称。“Cookie索引号”从0开始,对应了Cookies集合中的某个Cookie。对应的,也可以移出Cookies中的某个Cookie,其格式如下。

Response.Cookies.Remove("需要移出的Cookie名称");

Response.Cookies.Clear();

其中前者用于移出某个指定名称的Cookie,而后者则用于将Cookies集合中所有的Cookie移出。(Cookie对象是有生命周期的。默认情况下,其有效时间为20分钟。如果超过20分钟,在写入的Cookie便会被清除。当然,也可以设置Cookie对象的有效保留时间。其方法如下。)

Response.Cookies[Cookie名称].Expires = DateTime;

也即是通过Expires(过期)属性进行设置。只是设置的属性值要求是DateTime类型。下面程序定义了一个过期时间为两天的Cookie。

Response.Cookies["CookieStr"].Expires = DateTime.Now.AddDays(2);

Application对象(共享应用程序全局信息)

Application对象用于表示了整个网站应用程序的状态,这些状态通过Application对象实现数据的共享。所有访问该网站应用程序的计算机,都可以访问这些数据。

Application数据的存储方式

通过Application对象可以实现数据的读取和写入。

其中读取数据的格式如下。

数据 = Application[变量名];

或者如下。

数据 = Application[索引号];

写入数据格式如下所示。

Application[变量名] = 数据;

或者如下。

Application[索引号] = 数据;

其中的“变量名”表示存储数据的变量,该变量需要使用双引号括起来。“索引号”从0开始,对应着Application对象中的某个变量。它们的结果是一样的。

对应的,也可以删除Application对象中的某项数据。其格式如下所示。

Application.Remove("命名对象");

Application.RemoveAt("命名对象的索引");

如果需要移出Application对象中的所有数据,则可以使用如下的格式操作。

Application.RemoveAll();

Application.Clear();

由于Application对象是一个共享对象。也就是说,很多计算机都可以同上访问其中的内容。这便出现了一个问题,当两个甚至多个计算机同时对其中的对象进行操作时。服务器将面临怎样处理这个共享关系问题。我们可以通过加锁和解锁来实现对数据的无冲突访问,实现代码如下。

Application.Lock();

int count = Convert.ToInt32(Application["count"].ToString());

Application["count"] = count + 1;

Application.UnLock();

Session对象(维护每个客户的个人信息)

当客户端连接到服务器后,服务器端便会产生并维护一个客户端会话(Session)。简单地说就是服务器用于识别客户端而给它的一个编号。实际上,Web服务器运行时,可能会有很多个用户同时浏览该服务器上的网站。当每个用户(浏览器)第一次与这台Web服务器建立连接时。服务器就为该用户(浏览器)建立一个会话(Session)。同时服务器将自动为其分配一个SessionID(这将在后面的程序中演示),用于标记这个用户(浏览器)的唯一身份。这个SessionID是由Web服务器随机产生的一个由24个字符组成的字符串。这个唯一的SessionID实际上是非常重要的。当一个客户端用户提交一个表单时,浏览器会将用户(浏览器)的SessionID自动附加在HTTP头信息中,一并发送到服务器端。当服务器处理完这个表单请求后,便通过SessionID所对应的用户,将结果返回。

用Session存储数据

与Application对象一样,Session对象也用于共享多个页面的数据。Session与Application对象的相同点是两者都用于共享数据,并且数据类型可以是数字、字符串、日期甚至是复杂的对象。同时他们都存放在服务器端,这与Cookie不同的。两者的不同在于,前者代表一个浏览器窗口,而后者代表整个网站应用程序,并且Application对象的数据用于对所有的网站用户共享。如下图所示是Session与Application作用范围的示意图。

同样,Session也分为读取和写入数据两种方法。

可以使用如下方式实现数据的读取。

数据 = Session[变量名];

或者使用如下方式。

数据 = Session[索引号];

写入数据格式如下所示。

Session[变量名] = 数据;

或者使用如下的方式。

Session[索引号] = 数据;

对应的,也可以删除Session对象中的某项数据,则可以使用如下格式操作。

Session.Remove("命名对象");

Session.RemoveAt(“命名对象的索引”);

要移出Application中对象中的所有数据,则可以使用如下格式操作。

Session.RemoveAll();

Session.Clear();
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-09-20
ASP.net不仅仅是 Active Server Page (ASP) 的下一个版本,而且是一种建立在通用语言上的程序构架,能被用于一台Web服务器来建立强大的Web应用程序。ASP.net提供许多比现在的Web开发模式强大的的优势。

执行效率的大幅提高

ASP.net是把基于通用语言的程序在服务器上运行。不像以前的ASP即时解释程序,而是将程序在服务器端首次运行时进行编译,这样的执行效果,当然比一条一条的解释强很多。

世界级的工具支持

ASP.net构架是可以用Microsoft(R)公司最新的产品 Visual Studio.net开发环境进行开发,WYSIWYG(What You See Is What You Get所见即为所得)的编辑。这些仅是ASP.net强大化软件支持的一小部分。

强大性和适应性

因为ASP.net是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上(笔者到现在为止只知道它只能用在Windows 2000 Server上)。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.net的Web应用中。ASP.net同时也是language-independent语言独立化的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有C#(C++和Java的结合体),VB,Jscript。将来,这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序,能够完整的移植向ASP.net。

简单性和易学性

ASP.net是运行一些很平常的任务如表单的提交客户端的身份验证、分布系统和网站配置变得非常简单。例如ASP.net页面构架允许你建立你自己的用户分界面,使其不同于常见的VB-Like界面。另外,通用语言简化开发使把代码结合成软件简单的就像装配电脑。

高效可管理性

ASP.net使用一种字符基础的,分级的配置系统,使你服务器环境和应用程序的设置更加简单。因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现。这种被称为"Zero Local Administration"的哲学观念使Asp.net的基于应用的开发更加具体,和快捷。一个ASP.net的应用程序在一台服务器系统的安装只需要简单的拷贝一些必须得文件,不需要系统的重新启动,一切就是这么简单。

多处理器环境的可靠性

ASP.net已经被刻意设计成为一种可以用于多处理器的开发工具,它在多处理器的环境下用特殊的无缝连接技术,将很大的提高运行速度。即使你现在的ASP.net应用软件是为一个处理器开发的,将来多处理器运行时不需要任何改变都能提高他们的效能,但现在的ASP确做不到这一点。

自定义性,和可扩展性

ASP.net设计时考虑了让网站开发人员可以在自己的代码中自己定义"plug-in"的模块。这与原来的包含关系不同,ASP.net可以加入自己定义的如何组件。网站程序的开发从来没有这么简单过。

安全性

基于Windows认证技术和每应用程序配置,你可以确性你的原程序时绝对安全的。

ASP.NET 的语法在很大程度上与 ASP 兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。可以通过在现有 ASP 应用程序中逐渐添加 ASP.NET 功能,随时增强 ASP 应用程序的功能。

ASP.NET 是一个已编译的、基于 .NET 的环境,把基于通用语言的程序在服务器上运行。将程序在服务器端首次运行时进行编译,比ASP即时解释程序速度上要快很多.而且是可以用任何与 .NET 兼容的语言(包括 Visual Basic .NET、C# 和 JScript .NET.)创作应用程序。另外,任何 ASP.NET 应用程序都可以使用整个 .NET Framework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。

ASP.NET 可以无缝地与 WYSIWYG HTML 编辑器和其他编程工具(包括 Microsoft Visual Studio .NET)一起工作。这不仅使得 Web 开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到 Web 页的 GUI 和完全集成的调试支持。

当创建 ASP.NET 应用程序时,开发人员可以使用 Web 窗体或 XML Web services,或以他们认为合适的任何方式进行组合。每个功能都能得到同一结构的支持,使您能够使用身份验证方案,缓存经常使用的数据,或者对应用程序的配置进行自定义.

如果你从来没有开发过网站程序,那么这不适合你,你应该至少掌握一些HTML语言和简单的Web开发术语(不过我相信如果有兴趣的话是可以很快的掌握的)。你不需要先前的ASP开发经验(当然有经验更好),但是你必须了解交互式Web程序开发的概念,包含窗体,脚本,和数据接口的概念,如果你具备了这些条件的话,那么你就可以在Asp.net的世界开始展翅高飞了。

ASP.NET的6个内置对象
一、Response对象
二、Request对象
三、Application对象
四、Session对象
五、Server对象
(六)cookie
由于字数限制。对象这块是简单的。详细的请楼主去我的百度空间博客 编程开发 里 查阅!
第2个回答  2010-09-20
你说的是ADO.NET吧