载入中,请稍候 ……
 
» 您尚未 登录  注册 | 首页 | 论坛 | 繁体版 | 金曲版 | 搜索 | 个人文集 | 私人日记 | 娱乐中心 | 帮助

 经典人文社区 动漫音乐城 著名搜索引擎 精品网址荟萃 在线实用工具

每次一句英语 >>   [打开聊天室]  [RSS RDF/XML]

快速导航:原创诗歌沙龙 原创散文部落 原创小说家园 原创杂文世界 精美短文 小说在线阅读 四海搜奇 文化杂谈 幽默世界 日常指南 感情交流 情感故事 恋爱时尚 交友相册 唯美贴图 音乐时空 文体娱乐 动漫地带 金融经济保险 电脑软件 笑傲江湖 疯狂宠物 论坛事务
精品文化论坛 -> 电脑软件 -> ASP.NET完全入门您是本帖的第 68756 个阅读者

{第1页  1   2   3   4   5   6   7   8  …… 第18页}    Pages:(共 18 页) 发新帖 新投票 回复此帖
  --> 本页主题: ASP.NET完全入门 加为IE收藏 收藏主题 | 上一主题 | 下一主题
南郭先生

 终身成就奖 优秀版主奖 千里马奖 灌水天才奖 风雨同舟奖
 头衔:居委会主任

 级别:论坛版主 发贴:16858
 威望:8850 金钱:825453.9
 >>> 拥有的物品
 注册时间:2004-06-06
 最后登陆:2010-01-03
《南郭先生个人文集》
《南郭先生私人日记》
《南郭先生电子相册》
宠物 PET
  查看作者资料 发送短消息 推荐此贴 引用回复这个贴子 删除或编辑改帖子  加入文集
本站微信公众号:gj19199
请扫描二维码加关注:

ASP.NET完全入门
第一篇        概论

第一章        微软.NET战略和ASP.NET简介

                        i.              微软.NET的历史

                      ii.              ASP.NET历史

                    iii.              众说纷纭.NET

                    iv.              ASP.NET综述

                      v.              小结

第二章        我的第一个ASP.NET程序

                        i.              配置开发环境

                      ii.              运行配套光盘

                    iii.              第一个例子

                    iv.              近观ASP.NET

                      v.              小结

第三章        ASP.NET和ASP的比较

                        i.              ASP和ASP.NET的对比

                      ii.              从ASP到ASP.NET(一个移植的例子)

                    iii.              如何移植ASP到ASP.NET

                    iv.              小结

第二篇        Web form

第一章        Web form简介

                        i.              Page 简介

                      ii.              我的第一个Page

                    iii.              使用Server Control

                    iv.              使用HTML Server Control

                      v.              Web form事件模型

                    vi.              小结

第二章        服务器端控件

                        i.              文本输入控件

                      ii.              选择控件

                    iii.              列表控件

                    iv.              小结

第三章        自定义控件

                        i.              小页面控件

                      ii.              代码和模板的分离

                    iii.              自定义控件

1.组合控件

2.继承控件

                    iv.              小结

第三篇        ADO.NET数据库编程

第一章        ADO.NET简介

                        i.              ADO.NET的发展历史

                      ii.              ADO.NET框架模型

                    iii.              ADO.NET对比ADO

                    iv.              小结

第二章        访问数据库

                        i.              记录插入

                      ii.              记录修改

                    iii.              记录删除

第三章        存储过程和触发器

                        i.              使用存储过程

1.有返回值

2.输入参数

3.输出参数

                      ii.              使用触发器

                    iii.              小结

第四章        内存中的数据库

                        i.              字段映射

                      ii.              数据表

                    iii.              表间关系

                    iv.              表间约束

                      v.              DataSet和XML

第五章        响应ADO.NET的事件

                        i.              DataSet Events

                      ii.              DataTable Events

第六章        数据绑定

                        i.              Repeater

                      ii.              DataList

                    iii.              DataGrid

第七章        事务处理

                        i.              ASP.NET事务处理机制

                      ii.              一个完整的例子

                    iii.              利用数据库的事务处理

                    iv.              利用MTS的事务处理

                      v.              小结

第四篇        应用程序

第一章        什么是应用程序

                        i.              配置应用程序的步骤

                      ii.              应用程序框架

                    iii.              创建应用程序的典型步骤

                    iv.              小结

第二章        配置Config.web

第三章        编写global.asa

第四章        Application和Session

第五章        安全访问控制

第五篇        Web Service

第一章        Web service简介

第二章        一个简单的Web Service案例

第三章        数据交换

第四章        存取站点对象

第六篇        性能优化

第七篇        高级应用

第一章        XML及其应用

第二章        三层结构及其应用

第三章        使用COM

第四章        使用MTS

第五章        使用MSMQ

第六章        在ASP中使用.NET


[1楼] | IP:已记录| 发表:2005-07-22 22:23 PM| 顶端    [送鲜花] [扔鸡蛋
南郭先生

 终身成就奖 优秀版主奖 千里马奖 灌水天才奖 风雨同舟奖
 头衔:居委会主任

 级别:论坛版主 发贴:16858
 威望:8850 金钱:825453.9
 >>> 拥有的物品
 注册时间:2004-06-06
 最后登陆:2010-01-03
《南郭先生个人文集》
《南郭先生私人日记》
《南郭先生电子相册》
宠物 PET
  查看作者资料 发送短消息 推荐此贴 引用回复这个贴子 删除或编辑改帖子  加入文集

第一篇  概论
第一章 微软.NET战略和ASP.NET简介
欢迎你阅读《ASP.NET完全入门》,通过对本书的阅读,我们相信你能够对ASP.NET会有更深入的了解。
ASP.NET又叫ASP+,但并不仅仅是ASP的简单升级,而是MicroSoft推出的新一代Active Server Pages脚本语言。ASP.NET是微软发展的新型体系结构.NET的一部分,它的全新技术架构会让每一个人的网络生活都变得更简单。
首先需要特别指出的是,ASP.NET不仅仅只是有了一个新界面并且修复了一些缺陷的ASP3.0的升级版本(即不同于ASP2.0升级到ASP3.0的转变)。更为重要的是,ASP.NET吸收了ASP以前版本的最大优点并参照Java、VB语言的开发优势加入了许多新的特色,同时也修正了以前的ASP版本的运行错误。
要了解ASP.NET的真实面目,我们首先就得了解一下微软.NET战略。
1.1.1 微软.NET的历史
随着网络经济的到来,微软公司希望帮助用户,能够在任何时候、任何地方、利用任何工具都可以获得网络上的信息,并享受网络通信所带来的快乐。.NET战略就是为着实现这样的目标而设立的。
微软公开宣布,今后将着重于网络服务和网络资源共享的开发工作,并称,将会为公众提供更加丰富、有用的网络资源与服务。
微软新一代平台的正式名称叫做“新一代Windows服务”(NGWS),现在微软已经给这个平台注册了正式的商标——MicroSoft.Net。在.Net环境中,微软不仅仅是平台和产品的开发者,并且还将作为架构服务提供商、应用程序提供商,开展全方位的Internet服务。在谈及这个平台中使用的新技术,微软透露,它将在.Net环境中提供更多新产品和一揽子的全套服务。

  MicroSoft .NET平台的基本思想是:
侧重点从连接到互联网的单一网站或设备上,转移到计算机、设备和服务群组上,使其通力合作,提供更广泛更丰富的解决方案。用户将能够控制信息的传送方式、时间和内容。计算机、设备和服务将能够相辅相成,从而提供丰富的服务,而不是像孤岛那样,由用户提供唯一的集成。企业可以提供一种方式,允许用户将它们的产品和服务无缝地嵌入自己的电子构架中。这种思路将扩展二十世纪八十年代首先由PC赋予的个rights of man限。

MicroSoft .NET将开创互联网的新局面,基于HTML的显示信息将通过可编程的基于XML的信息得到增强。XML是经“万维网联盟”定义的受到广泛支持的行业标准,Web浏览器标准也是由该组织创建的。微软公司为开发它投入了大量精力,但它并不是MicroSoft的专有技术。XML提供了一种从数据的演示视图分离出实际数据的方式。这是新一代互联网的关键,提供了开启信息的方式,以便对信息进行组织、编程和编辑;可以更有效地将数据分布到不同的数字设备;允许各站点进行合作,提供一组可以相互作用的“Web服务”。
1.1.2 微软.NET的介绍
1.1.2.1  MicroSoft .NET综述
MicroSoft .NET平台包括用于创建和操作新一代服务的.NET基础结构和工具;可以启用大量客户机的.NET User Experience;用于建立新一代高度分布式的数以百万计的.NET积木式组件服务;以及用于启用新一代智能互联网设备的.NET设备软件。
MicroSoft .NET产品和服务—包括Windows.NET,连同建立积木式服务的核心集成套件;MSNTM .NET;个人订购服务;Office.NET;Visual Studio .NET;以及用于.NET的bCentralTM。

.Net环境中的突破性改进在于:

1.使用统一的Internet标准(如XML)将不同的系统对接;

2.这是Internet上首个大规模的高度分布式应用服务架构;

3.使用了一个名为“联盟”的管理程序,这个程序能全面管理平台中运行的服务程序,并且为它们提供强大的安全保护后台;

.NET平台包括如下组件:

1.用户数据访问技术。其中包括一个新的基于XML的、以浏览器为组件的混合信息      架构,叫做“通用画板”;

  2.基于Windows DNA 2000的构建和开发工具;

  3.一系列模块化的服务,其中包括认证、信息传递、存储、搜索和软件送递功能;

4.一系列驱动客户设备的软件;


1.1.2.2  Microsoft.NET平台带来的重要意义

我们来看一下MicroSoft .NET对开发人员、IT专业人员、以及企业应用的巨大意义

l对于开发人员

  MicroSoft .NET的策略是将互联网本身作为构建新一代操作系统的基础,对互联网和操作系统的设计思想进行合理延伸。这样,开发人员必将创建出摆脱设备硬件束缚的应用程序,以便轻松实现互联网连接。MicroSoft .NET无疑是当今计算机技术通向计算时代的一个非常重要的里程碑。
.NET的核心组件有:
· 一组用于创建互联网操作系统的构建块,其中包括Passport.NET(用于用户认证)以及用于文件存储的服务、用户首选项管理、日历管理以及众多的其它任务
· 构建和管理新一代服务的基本结构和工具,包括Visual Studio.NET、.NET企业服务器、.NET框架和Windows.NET
· 能够启用新型智能互联网设备的.NET设备软件
· .NET用户体验
.NET对最终用户来说非常重要,因为计算机的功能将会得到大幅度提升,同时计算机操作也会变得非常简单。特别地,用户将完全摆脱人为的硬件束缚:用户可以自由冲浪于互联网的多维时空,而不是束缚在便携式电脑的方寸空间——可通过任何桌面系统、任何便携式电脑、任何移动电话或PDA进行访问,并可对其进行跨应用程序的集成。
.NET可使用户轻松进行互联网连接,并轻松完成那些在当今看来十分费时而且费力的事务,它们往往要求用户进行数据重输入并需运行几个小时才能完成。通过将多项安全数据流合并到单一的用户界面(或者甚至是可编程决策引擎),.NET架构将用户从充斥于当今Web的数据竖井的束缚中解脱出来。用户可以自由访问、自由查看、自由使用他们的数据。
.NET对开发人员来说也十分重要,因为它不但会改变开发人员的开发应用程序的方式,而且使得开发人员能创建出全新的各种应用程序。新型开发范例的核心是Web服务这个概念的引入。Web服务是一种通过简单对象访问协议(SOAP),在互联网上展露其功能性的、极为公开的服务。SOAP是一种基于可扩展标记语言(XML)制定的协议。
在过去,开发人员通过集成本地系统服务来构建应用程序。在这种模型下,开发人员可以访问丰富的开发资源并能严格控制应用程序的行为。
如今,开发人员已在很大程度上挣脱了这种模型的束缚,致力于构建具有复杂结构的n层化系统,这种系统能将网络上众多的应用程序一并进行集成,大大提升了应用程序的价值。这样,开发人员便可把精力集中在充分挖掘软件独特的商业价值,而不是构建基本结构上。可喜的局面将应运而生:软件投放市场的时间大大缩短、开发人员的编程效率明显提高,最终把质量上乘的软件呈现给用户。
我们正在进入一个崭新的计算时代——一个由互联网(尤其是Internet核心技术XML)实现的时代。利用XML,能够创建出可供任何人从任何地方使用的、功能非常强大的应用程序。它极大地拓展了应用程序的功能,并实现了软件的动态提供。在这种情况下,软件已不完全指那些从光盘进行安装的程序,而是演变成了一种服务——类似于ID调用程序或按收看次数进行收费的电视——人们可通过通信媒体订购的服务。
n层计算技术具有能够大幅度提高生产力、紧密耦合的特点,而Web概念具有面向消息、松散耦合的特点,我们将二者有机地糅合在一起,实现了上述构想。我们将这种计算风格称为Web服务,它的出现标志着人类已经迈入应用程序开发技术的新纪元。Web服务是一种应用程序,它可以通过编程并使用标准的Internet协议,像超文本传输协议(HTTP)和XML,将功能展示在互联网和企业内部网上。还可将Web服务视作Web上的组件编程。
从理论上讲,开发人员可通过调用Web应用编程接口(API),将Web服务集成到应用程序中。其调用方法与调用本地服务类似,不同的是Web API调用可通过互联网发送给位于远程系统中的某一服务。例如,MicroSoft Passport(Passport)服务使得开发人员能够对应用程序进行认证。通过对Passport服务编程,开发人员可以充分利用Passport的基本结构,通过运行Passport来维护用户数据库,以确保其正常运行、定期备份等等。
.NET正是根据这种Web服务原则而创建的,微软目前正着手提供这个基本结构,以便通过.NET平台的每一部分来实现这种新型的Web服务。而Visual Studio.NET、.NET框架、Windows.NET和.NET企业服务器,正是为进行基于Web服务模型的应用程序开发而度身定做的新一代开发工具和基本结构。.NET构建块服务、新增的.NET设备支持以及即将到来的.NET用户体验,将为人们彻底攻克这一难题划上一个圆满的句号,使人们能够充分利用Web服务模型,如愿以偿地开发出新一代应用程序。

l.NET对IT专业人员的重要意义
目前,IT专业人员能够利用与构建.NET平台相同的技术。
.NET Enterprise Servers和Windows 2000操作系统,为创建具有高度可管理性的、能迅速投入市场的应用程序提供了坚实基础。它们利用的是可扩展标记语言(XML),因此随着Web体系结构的革新,在此平台上创建的程序依然很有价值。
.NET平台的核心是,采用有效的、分门别类的方式来构建应用程序,达到其前所未有的规模。该平台上的Web服务模型指的是:企业应用程序的中心业务要素通常由本地管理,而支持它们的服务(如用户认证、文件存储、用户首选项管理、日历、邮件等等)却无须本地管理,可以被无缝订购。为了存储用户文件和邮件,IT专业人员往往在服务器上安装新的独立磁盘冗余阵列(RAID阵列),而有了.NET,他们在这一方面将会花费较少的精力,而更多地致力于怎样为公司增加效益。
该Web服务模型还将动态配置新软件的发布和更新。用户将以极其紧密的连接方式工作,因此更易于管理。而简化的管理又可使IT专业人员更能适应变幻莫测的业务需求。
开发应用程序的.NET Web服务模型将为企业应用程序的创建开辟一条新路。通过企业内外多种服务的联合,很容易把企业内部数据和客户及合作伙伴的相关数据结合在一起,大大简化了应用程序的创建过程。这就为最终用户发掘了空前的功能涵盖性。例如,利用某公司的雇员福利程序,可以从其HR数据库订购信息,通过Web订购福利管理公司的服务、订购工资管理公司的服务。终端用户可以在简单、直观的界面下操作,而这个界面可以显示他们的累积休假时间、个人所得福利以及上次工资额。

l.NET对企业的重要意义
MicroSoft .NET平台将从根本上改善计算机和用户之间进行交互的方式,最大限度地发挥电子商务中计算技术的重要作用。首先,让我们来分析一下当前商务计算世界的现状:
人与计算机进行交互的手段极为有限——通常使用键盘和鼠标进行输入,使用监视器监控输出。
用户信息基本上是本地信息;如果从另一台机器进行登录,则无法获取用户的个人首选项设置、数据及应用程序。
用户必须亲自处理信息,而通过设置智能选项代表用户自动进行操作,则无异于是纸上谈兵。
同一用户存放于不同应用程序和站点的数据,很难(或根本不可能)进行自动合并和关联,用户无法统一进行查看。
想在家里或在路上工作的用户,不能方便地访问办公室电脑中的应用程序和数据。这无疑成为一道阻止人们获得更高工作效率的鸿沟。
不能使用其它设备访问专为特定设备设计的数据(这些设备包括PC、寻呼机、移动电话以及PDA等);最多可以定期进行同步。
.NET将保证完全消除当今计算技术中的所有缺陷。.NET定能实现确保用户从任何地点、任何设备都可访问其个人数据和应用程序的宏伟蓝图。除此之外,.NET技术还可实现多个应用程序在逻辑上的松散耦合链接和紧密耦合链接。
用户可以通过手写、语音和图象技术与其个人数据进行交互。这些数据将安全地存放在互联网上,用户通过办公室(或家庭)PC,还可以通过移动电话或寻呼机、PDA、甚至是新发明的寻呼机——移动电话——PDA——PC联合设备访问这些数据。应用程序可进行灵活的功能调整,以适应用户所用设备的功能状况。应用程序可根据用户预定义的选项集和指令集,完全代替用户自动执行相应的操作。



[2楼] | IP:已记录| 发表:2005-07-22 22:24 PM| 顶端    [送鲜花] [扔鸡蛋
南郭先生

 终身成就奖 优秀版主奖 千里马奖 灌水天才奖 风雨同舟奖
 头衔:居委会主任

 级别:论坛版主 发贴:16858
 威望:8850 金钱:825453.9
 >>> 拥有的物品
 注册时间:2004-06-06
 最后登陆:2010-01-03
《南郭先生个人文集》
《南郭先生私人日记》
《南郭先生电子相册》
宠物 PET
  查看作者资料 发送短消息 推荐此贴 引用回复这个贴子 删除或编辑改帖子  加入文集

上述功能将协同作用,以便大幅度地提高用户使用计算技术的生产效率。根据设计,.NET使得用户无需在如何与计算机进行交互上劳神,从而全身心地投入到使计算机自动执行任务、实现最终目标的工作中。通过使用XML行业标准,可将用户数据进行跨站点和应用程序的链接,从而轻松实现当前很难实现的操作。比如:对用户在数家不同银行、信用卡公司以及计费代理商那里的数据进行集中处理;这样,用户便可依据处理后的数据支付帐单,将费用明细报告归档。
.NET把雇员、客户和商务应用程序整和成一个协调的、能进行智能交互的整体,而各公司无疑将是这场效率和生产力革命的最大受益者。简言之,.NET承诺为人类创造一个消除任何沟鸿的商务世界。

1.1.2.3  MicroSoft .NET 的基本模块

u网络服务一览

      通常说来,一个网络服务只是一个作为服务――通过Internet标准此服务能与其它
网络服务集成在一起――发行的简单的应用程序。换句话说,它是可通过URL定位的自动将信息返回到需要它的客户端那里的一种资源。网络服务一个重要的特点是客户不需要知道一种服务是怎样实现的。在本节中,我将向你解释网络及网络服务如何把基于组件技术的最好的方面结合在一起的,并且介绍与网络服务通信所需的基本框架。
同组件一样,网络服务提供“黑匣子”函数,它可以被再次作用而不用关心此服务是怎样实现的。网络服务提供被称为契约的精确定义的接口,此接口描绘了所提供的服务。开发人员可以将远程服务、本地服务和定置代码组合在一起而集成应用程序。例如,某公司可以使用如下服务组建一在线商店:微软护照(原文:Passport)服务以验证用户身份,第三方个人化服务以使网页匹配每一个用户的参数,信用卡处理服务,销售税服务,对每个运输公司的包裹跟踪服务,链接公司内部库存管理程序的内部目录服务,以及少量定置代码以使他们的商店能脱颖而出。
然而,网络服务与现在的组件技术不同,它不使用需要在服务器和客户机有明确的、同类型基本构架的具体的对象模型协议,例如DCOM、 RMI或 IIOP 。尽管与具体组件技术紧密结合的实现在一个受控的环境中能很好地被接受,但它们在网络环境中变得不切实际。因为一个集成商业程序的参与者会发生变化,随着时间的推移,技术也在变化,所以在所有参与者间确保一个单一的、统一的体系架构就变得十分困难。网络服务采取了另外一种途径,它使用普便存在的网络协议和数据格式,如HTTP和XML,进行通信。支持这些网络标准的任何系统都支持网络服务。
而且,网络服务契约描述的是以术语报文形式提供的服务,这些服务是由网络服务生成和接受的,而不是描述服务是如何实现的。通过把重点放在报文上,网络服务模板就完全对语言、平台和对象模板一无所知。 用任何一套编程语言、对象模型和平台的完全特性集,都可实现网络服务。网络 服务可在任何平台被用任何语言所实现的应用程序使用。只要用于解释服务容量、报文序列和所期望协议的契约得到认同,那么所实现的网络服务及网络服务用户就可相互不同,而不会影响会话另一端的应用程序。
网络服务模板对最小体系架构的要求很低,以确保网络服务在使用任何技术和编程语言的平台上实现和访问。对网络服务互用性的解决可只依靠网络标准。然而,为了使应用程序更容易使用网络服务,简单地同意通过标准网络协议就可以访问网络服务是不够的。当网络服务和网络服使用者依靠标准的方式表示数据和命令、表示网络服务契约 、算出网络服务所提供的容量时,网络服务才容易使用。
XML是定义一个标准的、可扩展的用于提供命令和典型数据的语言明显的一种选择。虽然为表示命令和典型数据可以定义使用其它技巧(比如编码为一种查询字符串)的规则,但XML被专门设计为描述数据的标准元语言。简单对象存取协议(SOAP)是以一种可扩展的方式使用XML表示数据和命令的工业标准。网络服务可选择用SOAP决定报文的格式。
XML是网络服务契约的一种使能技术。服务契约语言 (SCL)是记录网络服务契约的XML语法。由于SCL是基于XML的,所以对开发者和开发工具来说,容易生成、解释契约。关于SCL细则的草案很快会出台(注意:现在的SOAP Toolkit for Visual Studio 6.0支持称为SDL的SCL的早期版本)。
Disco 规范为服务提供者发布网络 服务契约和相应的机制描述了一个标准方式,这将使开发者或开发工具可找到契约文献。当你读到这里时, Disco规范的草案应出台了。
象SOAP, SCL和Disco这样的标准有助于开发者,因为它们不需要明白和实现所使用的每一个网络服务的访问方式。支持这些标准的更好的、已充分测试的、高性能的体系架构将由开发平台提供,这会大大简化整个开发过程。

uMicroSoft .NET Framework

MicroSoft .NET框架的目的是使你更容易建立网络应用程序和网络服务。图2 显示了MicroSoft .NET框架的体系。建立在操作系统最上层的服务,是管理运行时代码需求的common language runtime,这些代码可以用任何现代编程语言所写。Runtime提供了许多服务,这些服务有助于简化代码开发和应用程序的开发同时也将提高应用程序的可靠性。.NET Framework包括一套可被开发者用于任何编程语言的类库。在此之上是许多应用程序模板,这些模板特定地为开发网络站点和网络服务提供高级组件和服务。

uCommon Language Runtime

运行语言(runtime)调入并运行用任何运行感知编程语言所写的代码。以运行为目标的代码被称为受控(managed )代码,受控代码代码只是意味着在内部可执行代码与运行自身间存在已定义好的合作契约。对于象生成对象、调用方法等这样的任务,被委托给了运行语言,这使得在运行语言能为可执行代码增加额外的服务。
运行语言以交叉语言集成、自描述组件、简单配制和版本化及集成安全服务为特点。
运行语言使用一种新的能表达大部分现代编程语言语义的通用类型系统,通用类型系统定义了一套标准类型及生成新标准的规则。运行语言知道怎样生成、执行这些类型。编译器和解释器使用运行语言服务定义类型、管理对象、进行方法调用,而不是使用工具或特定于语言的方法。
类型系统的主要设计目的是使多种语言能深度集成。用一种语言所写的代码能继承用另一种语言所写的类的实现,用一种语言所写的代码抛出的异常能被用另一种语言写的代码捕获,象调试和剖析之类的操作会在完全封闭下工作,而不用考虑代码所用的语言。这就意味着编写可重用类库的开发者,不再需要为每一种编程语言或编译器生成一个版本,并且使用类库的开发者不再受到为他们使用的编程语言开发的库的限制。
自描述组件――现在MicroSoft .NET框架上已成为可能――简化了开发和配制,并提高了系统的可靠性。许多由运行语言提供的服务是由元数据及用于补充可执行代码的信息所驱动。因为所有的信息都储存在一起,只有可执行的(代码)才被称为自描述组件。
自描述组件的一个主要优点是,使用它们并不需要其它文件。类的定义不需要单独的头文件;通过检查元数据对类的定义可以从组件自身获得。跨语言或过程边界访问组件并不需要各自的IDL文件、类型文件或proxy/stubs;所必需的信息已存在于元数据之中。为识别开发者请示的服务属性,并不需要展开各自的配制信息。 最主要的是,由于元数据是在编译过程中由源代码生成,并与可执行代码储存在一起,它将永远和可执行部分同步。
除了改善对单个组件的配制,Microsft .NET框架定义了一个应用程序配制模板,以解决定置应用程序安装和DLL版本化(通常被称为“DLL Hell”)这一复杂过程的问题,运行语言提供了支持这个模板的服务。
Microsft .NET框架 引入了组合体的概念。一个组合体是一组资源和类型,并包括有关这些资源和类型的元数据,也就是被作为一个单元配制的。元数据被称为组合体的名单,它包含象类型和资源表之类能被组合体外看得见的信息,这个名单也包括有关从属关系之类的信息,例如组合体建立时的版本号。开发人员可以指定版本策略,以指示运行语言是否装入系统上已安装的依赖于组合体的最新版本,装入一指定版本,或在编译时使用的版本。
某软件组件的多个拷贝总可以存在于同样的操作系统上,然而,通常说来,只有其中的一个拷贝能被操作系统注册、调入内存、执行。对系统来说,定位和调入内存的策略是全局性。.NET Framework Common Language Runtime 增加了所必须的体系架构以支持管理组件定位和调入的每个应用程序策略,这通常被称为并行配制。
组合体可以被一个应用程序私有,或被多个应用程序共享。一个组合体的多个版本可以同时配制在同一台机器上。应用程序配制信息定义了到何处去查找组合体,这样runtime就能为同时运行的两个不同的应用程序装入同一组合体的不同版本。这就消除了由组件版本的不兼容性引起的问题,提高了系统整体的稳定性。如果必要,如果必要,管理员可以为配制时刻的组合体增加配制信息,例如一个不同的版本策略,但是编译时提供的原始信息永远不会丢失。
因为组合体是自描述的,所以并不需要在系统上进行显式注册。应用程序的配制简单到只需将文件拷贝到目录中既可(如果为了使应用程序能够运行,必须安装未经组织过的组件的话,情况会稍微复杂一点)。配制信息保存在可被任何文本编辑器编辑的XML文件中。
最后,运行语言也提供完整的、普遍深入的安全服务,以确保未经授权的用户不能访问机器上的资源,并且代码不会执行未经允许的动作。这就提高了系统整体的安全性可靠性。 由于运行语言用于装入代码、生成对象、执行方法调用,所以当受控代码装入内存、执行时,运行语言能进行安全检查,强化安全策略。
Microsft .NET框架不仅规定代码访问安全,还规定基于角色的安全。通过代码访问安全机制,开发人员能为应用程序指定完成工作所必需的权限。例如,代码或许需要写文件或访问环境变量的权力。这类信息和有关代码标志的信息一起存储在配制级上的。当代码装入内存及执行方法调用时,运行语言验证是否能给予代码所要求的权限。如果不能,将记录一条安全冲突信息。给予权限的策略,这被称为信任策略,是由系统管理员建立的,并且是建立在关于代码的证据基础之上,比如:代码是谁发布的,是从什么地方获得的,以及在组合体中找到的代码标志和它要求的权限。开发人员可以指定他们显然不需要的权限,以防止其它人恶意使用他们的代码。如果所需要的权限依赖直到运行时刻才会知道的信息,那么就可写入纲邻性的安全检查。
除了代码访问安全,运行语言还支持基于角色的安全。基于角色的安全建立同代码访问安全一样的权限模板,只是这些权限是建立在用户的身份之上,而不是建立在代码的标志之上。角色表明了用户所属的类,并且可以在开发和配制阶段定义。给予权限的策略被分配到每个预定义的角色。在运行时刻,用户的身份被确定,代码将代表这个身份运行。运行语言决定用户是哪个角色的成员,然后给予基于这个角色的权限。
在查看Microsft .NET框架的可编程模板前,先看一下它所提供的服务。

l服务框架
在Common Language Runtime之上是服务框架,此框架提供能被任何现代编程语言调用的类。所有的类都遵循一套命名和设计方针,以大大减小开发人员的学习上的弯路。
框架包括一套开发人员希望在标准语言库中存在的基类库,例如:集合、输入/输出,字符串及数据类。另外,基类库提供访问操作系统服务如图画、网络、线程、全球化和加密的类。服务框架也包括数据访问类库,及开发工具,如调试和剖析服务,能够使用的类。本文章没有详细讨论所有的类,我将重点放在数据访问类上,因为大多数网络服务需要对数据的访问。当然,你可以在MicroSoft .NET Framework SDK中找到关于服务框架类库的附加信息。

l数据访问服务
几乎所有的网络服务都需要查询和更新永久性数据,不论是以简单文件,还是以相关数据库,或是以其它的存储类型存在。为了提供对数据的访问,服务框架包括ActiveX Data Objects+ (ADO.NET)类库。如同名子所暗示地那样,ADO.NET由ADO发展而来。ADO+被设计为基于网络的可扩展的应用程序和服务提供数据访问服务。ADO.NET为连接的指针风格的数据访问,同时也为更适合于把数据返回到客户端应用程序的无连接的数据模板提供高性能的APIs流,就象在以后介绍的那样。
就象其余几个部分一样,ADO.NET定义了那些链接数据仓库、 对数据仓库发送命令及从中获取结果的类。这些类由受控数据提供者(managed data provider)实现。ADO+中链接和命令对象看上去和ADO中的是一样的,并且一个名为DataReader的新类提供了通过高性能API流获取结果的能力。DataReader在功能上同前向、只读的ADO记录集(Recordset)是等同的,但是DataReader被设计用来最小化内存中生成的对象的数量,以提高性能,避免垃圾积累。在.NET Framework中包含了针对MicroSoft SQL Server™的受控数据提供者以及可通过OLE DB访问的任何数据仓库。
ADO.NET的一个主要创新是引入了数据集(Dataset)。一个数据集是内存中提供数据关系图的高速缓冲区。数据集对数据源一无所知,它们可以由程序或通过从数据仓库中调入数据而被生成、填充。不论数据从何处获取,数据集都是通过使用同样的程序模板而被操作的,并且它使用相同的潜在的数据缓冲区。使用.NET平台的开发人员能够用数据集代替传统ADO中无连接的记录集。
受控数据提供者为数据仓库和数据集公开一名为DataSetCommand 的接口对象。DataSetCommand 使用ADO.NET链接和命令以从数据仓库中填充数据集,并把在数据集中发生的变化解析到数据仓库中。
就象DataReaders 显示了对于相关数据的有效的流访问一样,XmlReaders 显示了对XML数据的流访问。开发人员使用DataNavigator 可以滚动和编辑内存中的XML文档。DataNavigator在功能上和W3C Document Object Model (DOM)是一样的,但它更有效,并提供了能很好映射关系数据表的对象模板。DataNavigator 支持Xpath语法以对数据流进行导航。ADO.NET为那些希望继续使用DOM作为XML对象模板而不是使用更有效的DataNavigator模板的开发人员提供了一个XMLDocument类。
由于所有的数据都可被看作XML,所以开发人员可以为任何数据使用转换和确认服务。ADO.NET定义了一个消费DataNavigator、生成一个新的XmlReader的通用转换体系。.NET Framework提供了一个支持W3C XSL Transformations (XSLT)细则的特殊转换组件。ADO.NET同时提供了一使用XML简图确认XmlReader的确认引擎。ADO.NET支持通过DTDs, XSD或 XDR定义的简图。

l表单应用模板

从概念上讲,在服务框架的最上面是两个应用程序模板:Windows应用程序模板和网络应用程序模板。尽管我把重点放在把微软.NET 框架用作开发网络服务和网络应用程序的一种途径上,但框架也可用于开发较传统的基于Windows的应用程序(当然,这些应用程序也能使用网络服务)。
编写Windows客户应用程序的开发人员可使用Win表单应用程序模板以利用Windows丰富的用户接口特点,包括现在的ActiveX控件和Windows 2000的新特点,如透明的、分层的、浮动窗口。可以选择传统的Windows或网络外观。得知它和现在的基于Windows表单包的相似性以后,开发人员会发现Win表单可编程模板和对设计阶段的支持非常直观。
Win 表单利用了Microsft .NET框架 runtime以减少基于Windows的客户应用程序的开销。只要应用程序和组件是用Win所写或被Win表单应用程序使用,那么它们就能被框架安全模板在客户机上安全地执行。如果以这种方式使用或执行,那么某人从Internet下载下来的生猛游戏就不会对配制信息和数据产生破坏,否则会自动地给用户地址薄里的每一个人发送电子邮件。
Microsft .NET框架 装配模板简化了应用程序的配制和版本化 。应用程序可被配制为使用它们在编译和测试所用的共享组件,而不是使用恰好在客户机器上安装的随便什么版本的组件,这就提高了应用程序的可靠性,减少了应用程序所支持调用的主要因素:用户接口控件和其它共享组件版本的不兼容性。




[3楼] | IP:已记录| 发表:2005-07-22 22:25 PM| 顶端    [送鲜花] [扔鸡蛋
南郭先生

 终身成就奖 优秀版主奖 千里马奖 灌水天才奖 风雨同舟奖
 头衔:居委会主任

 级别:论坛版主 发贴:16858
 威望:8850 金钱:825453.9
 >>> 拥有的物品
 注册时间:2004-06-06
 最后登陆:2010-01-03
《南郭先生个人文集》
《南郭先生私人日记》
《南郭先生电子相册》
宠物 PET
  查看作者资料 发送短消息 推荐此贴 引用回复这个贴子 删除或编辑改帖子  加入文集

l网络应用程序模板

建立在Microsft .NET框架 上网络应用程序共享一个通用应用程序模板。在这个模型中,网络应用程序是一套起源于基URL 的URLs。因此它包含用于生成在浏览器中观看的网页的网络应用程序和网络服务。在本节中,我将详细介绍称为Active Server Pages+ (ASP.NET)的网络应用程序可编程模板
如同你从名字猜到的那样,ASP.NET是由活动服务器页面发展而来。ASP.NET利用common language runtime 和服务框架网络应用程序提供了一个可靠的、自动化的、可扩展的主机环境。ASP.NET也受益于common language runtime 集成模板,简化了应用程序的配制。另外,它提供简化应用程序开发的服务(如状态管理服务)以及高水平的编程模板(如ASP.NET Web forms和ASP.NET Web Services)。
ASP.NET的核心是HTTP运行语言,一个高性能的用于处理基于低级结构的HTTP请求的运行语言,而基于的结构与MicroSoft Internet Information Services (IIS)所提供的ISAPI结构相似。如同你在图5所看到的,HTTP 运行语言是在象服务器上的IIS或客户机上的IE之类的unmanaged 主机过程中运行的受控代码。HTTP runtime负责处理引入的所有HTTP请求,并对每个请求应用程序的URL进行解析,然后把请求分配到应用程序以进行进一步的处理。HTTP 运行语言是多线程的,并异步处理请求,因此劣质的应用程序代码阻碍不了它对新请求的处理。而且HTTP 运行语言假定失败必会发生,因此它被控制为尽最大力量自动地从访问冲突、内存泄漏、死锁等事故中恢复过来。除非是硬件故障,运行语言的目标是100%的可靠性。
ASP.NET使用基于构件的Microsft .NET框架配制模板,因此它获得了如XCOPY配制、构件并行配制、基于XML配制等优点。ASP.NET另一个主要优点是,它支持应用程序的实时更新。管理员不必关掉网络服务器或者甚至不用停止应用程序的运行就可以更新应用文件。应用程序文件永远不会被加锁,因此甚至在程序运行时文件就可以被覆盖。当文件更新后,系统会温和地转换到新的版本。系统检测文件变化,并用新的应用程序代码建立一个新的应用程序实例,然后将引入的请求路由到应用程序。当所有被现存的应用程序实例处理的未完成的请求处理完后,该实例就被销毁了。
在应用程序中,HTTP请求是通过HTTP模块的一个管道路由的,最终到达请求处理程序。HTTP模块和请求处理程序是一些实现特殊接口的受控类,而这些接口是由ASP.NET定义的。这种管道结构使得为应用程序增加服务非常方便:只需补充一个HTTP模块。例如,安全,状态管理及跟踪都被实现为HTTP模块。高级可编程模块,如网络服务和网络表单,通常被实现为请求处理程序。一个应用程序能链接与多个请求处理程序——每个处理程序一个URL,但是所有的HTTP请求都通过同样的管道路由。
网络基本上是一个无状态模型,并且在HTTP请求间没有联系,这使得编写网络应用程序很困难,因为应用程序通常需要维护跨多个请求的状态。ASP.NET增强了由ASP引入的状态管理服务,以便为网络应用程序提供三种类型的状态:应用程序、会话、用户。就象在ASP中一样,应用程序状态特定于一个应用程序实例,并且不会持久。会话状态是特定于一个用户与应用程序间的会话的。与ASP会话状态不同,ASP.NET会话状态储存在一个独立的过程中,并且可把它配制成可以储存到一个独立的机器上。这使得会话状态当应用程序在网络群(Web farm)扩展时非常有用。用户状态类似于会话状态,但通常它不会超时,并且是永久性的。因此,用户状态对储存用户参数和其它个性化的信息是有用的。所有状态管理服务都被实现为HTTP模块,因此它们容易增加到应用程序管道中,或从中删除。如果除了由ASP.NET提供的服务外,还需要额外的状态管理服务,那么可由第三方的模块提供。
ASP.NET同样提供高速缓冲服务,以改善性能。输出缓冲可完全节省网页翻译,段缓冲储存部分的网页。由于提供了相应的类,所以只要需要,应用程序、HTTP模块以及请求处理程序可以在高速缓存中储存任意数量的对象。
下面快速浏览一下建立在ASP.NET可编程模块之上的两个高级可编程模块:ASP.NET 网络 表单和 ASP.NET 网络 服务。

lASP.NET 网络表单

网络表单把基于Visual Basic®的表单的高生产性的优点带到了网络应用程序的开发中来。网络表单支持传统的将HTML内容与角本代码混合的ASP语法,但是它提出了一种将应用程序代码和用户接口内容分离的更加结构化的方法。引入的网络表单控件用于为封装通用用户接口元素提供了一种机制。这些新的特点使得开发工具在支持VB小应用程序的同时,也支持设计时模块,使得WUSIWYG工具支持网页布局。
网络表单控件负责生成用户接口,典型情况是在HTML表单中。ASP.NET是提供了一套映射传统的HTML用户接口小部件(包括列表框,文本框和按钮)的网络表单控件和一套附加的更加复杂的网络控件(如日历和广告转板)。这些控件的一个重要特点是,它们可以被编写以适应客户端的能力;同一网页把大范围的客户端平台和表单因素作为目标。换句话说,网络表单控件能“嗅”到正在查找表单的客户,然后返回合适的用户经验――可能是适合低级浏览器的HTML3.2或是适于IE5.0的动态HTML。
考虑到网络是一种无状态的联接模型,网络应用程序开发人员所面临的一个很复杂的问题是,他们要对用户与基于网络的接口的交互作用作出反应。网络利用ASP.NET的体系架构提供了一套丰富的服务,以帮助开发人员建立交互式网页。这些服务的净作用是使基于组件的、事件驱动的可编程模块,对开发人员来说,非常象客户端的表单程序设计。用户与网页交互作用的状态管理的复杂性被ASP.NET 网络 表单和网络表单控件隐藏起来了。对开发人员来说,提供的丰富数据绑定服务使得显示通过数据访问服务得到的数据变得非常容易。
代码与内容的分离使ASP.NET网页能动态地编译到受控类中,用以提高性能。每个引入的HTTP请求都被传递到一个新的网页实例,因此开发人员不需要关心代码中的线程安全性。

lASP.NET 网络 服务

ASP.NET 网络 服务体系架构为用ASP.NET建立网络 服务提供了一高级可编程模板。虽然建立网络服务并不需要使用网络 服务平台,但是它提供许多的优点将简化开发过程,并且它使用的编程模型对用ASP或VB工作的开发人员来说是很熟悉的。使用这个可编程模型,开发人员不需要理解HTTP、SOAP或其它任何网络服务规范。
开发人员用ASP.NET生成一个扩展名为.asmx的文件,并把此文件配制为网络应用程序的一部分,就建立起了一个网络 服务。ASMX文件或者包含对在其它地方定义的受控类的引用,或者包含这个类的定义。这个类是由ASP.NET提供的WebService类所派生。公有的类方法在标记上WebMethod属性后,就会成为网络服务方法,把HTTP请求发送到ASMX文件中的URL后,这些方法就会被调用。你不必手工为你的网络服务建立一个契约。当被调用者请求时,ASP.NET检查类的元数据,以自动生成SCL文件。
客户可通过SOAP,HTTP GET 和HTTP POST提交请求。对方法和参数进行编码的约定是:对HTTP GET,将被编码为查询字符串;对HTTP POST,将被编码为表单数据。HTTP GET 和HTTP POST 的机制不如SOAP有力,但是它们使得客户在访问网络服务时不必支持SOAP。
ASP.NET 网络服务模型假定了一个无状态服务结构。无状态结构通常比有状态结构更具可扩展性。每次收到一个服务请求后,就生成一个新对象,请求被转化为一个方法调用,当方法调用返回时对象被销毁。如果这些服务需要跨请求维护状态,那么它们将使用ASP.NET状态管理服务。基于ASP.NET的网络服务在网络应用程序模型中运行,因此它们得到了该模型的所有安全、配制和其它优点。
ASP.NET 网络服务还提供了一个为在SCL文件中描述的网络服务生成分类的受控代理工具。代理生成器把SCL文件中描述的消息映射成受控类中的方法。代理对应用程序代码隐藏了所有的网络和引导设备,因此使用网络服务看起来就象使用其它受控代码一样。代理将优先使用SOAP链接网络服务,但是它同样支持HTTP GET和 HTTP POST机制。因此HTTP GET和 HTTP POST同样也能被使用。
网络服务为在Internet上绑定应用程序提供了一个利用现存体系架构和应用程序的简单的、灵活的、基于许多标准的模型。网络应用程序很容易与当地开发的服务或已存在的服务集成在一起,而不用考虑开发平台、开发语言或使用的对象模型,以用于实现任何组成的服务或应用程序。
Microsft .NET框架在现有开发人员技巧之上,提供了一个应用程序模板和关键技术,用于简化安全、可靠、可扩展、高可用性的网络服务的建立、部署和不断的发展。
通过上面的介绍,我们能够感觉到MicroSoft .NET对于我们今后的程序设计将产生巨大的影响。
1.1.3 ASP.NET历史
    我们在讲述ASP.NET历史之前,让我们来回顾一下ASP。
ASP的第一个版本是0.9测试版。它给WEB开发带来一阵暴风,它能够将代码直接嵌入HTML,使得设计WEB页面变得更简单,更强大,并且通过内置的组件能够实现强大功能,最明显的就是ActiveX Data Objects (ADO),它使得建立一个动态页面如小孩子玩游戏一样简单。
    最终出场的是Active Server Page 1.0,它做为IIS的附属产品免费发送。并且不久就在Windows平台上广泛使用。ASP与ADO的结合使用开发者很容易地在一个数据库中建立和打开一个记录集。这不无疑是它如此快就被大众接受的因素,因为你现在能使用这些脚本建立和打开一个记录集,处理和输出任何数据,以任何顺序,几乎只要你能想到的,它就能完成。
    1998年,微软公司又发布了ASP 2.0 。ASP 1.0和ASP 2.0主要区别是外部的组件需要实例化。有了ASP 2.0 和IIS 4.0,我们就有可能建立ASP应用了,而且每个组件就有了自已单独的内存空间。内置的MicroSoft Transaction Server(MTS)也使用制做组件便得简单。
微软公司接着开发了Windows 2000操作系统。 这个Windows版本给我们带上了IIS 5.0 以及 ASP 3.0。此次并不是简单对ASP进行补充,核心的不同实际上是把很多的事情交给了COM来做。在windows 2000中,微软结合了MTS与COM核心环境做出了COM+,这就让主机有了一种新的方法来使用组件,同样给主机带来了更多的稳定性,成了一个可以升级的效率高的工作平台。IIS  5.0在表面上似乎没有改什么,但是在接口上动的手术比较大。在内部,它使用COM+ 组件服务来对组件提供一个更好的执行的环境。
有了这些,微软公司推出了ASP.NET,ASP.NET又叫ASP.NET,他不是ASP的简单升级,而是MicroSoft推出的新一代Active Server Pages。ASP.NET是微软发展的新的体系结.NET的一部分,其中全新的技术架构会让每个人的编程生活变得更的简单


1.1.4小结
在本章中,我们介绍了微软.NET的历史,以及对.NET的构成、性能进行了一个详细的介绍,同时,我们还详细介绍了ASP.NET的历史。在下面的章节中,我们将按实例一步一步的讲解ASP.NET。

第二章 .NET的安装与运行环境

1.2.1 运行环境配置
lASP.NET的调试环境
操作系统:
Windows 2000 Professional,Windows 2000 Server ,Windows 2000  Advanced Server
浏览器:
IE 5.5   
NGWS

l支持哪几种语言
ASP.NET 目前能支持3种与语言, C# (读作 "C Sharp"), Visual Basic,and Jscrip。.
 
l使你的机器持ASP.NET,必须满足以下配置:
 
硬件要求:
1、 CPU: Intel Pentium II-class 300 MHz (最好Intel Pentium III-class 600 MHz)
2、 内存: 96 MB (最好128 MB)
3、 磁盘空间: 250 MB(完全安装) 155 MB(快速安装)
4、 显示: 800x600, 256 colors
5、 CD-ROM: required

软件要求:
1、 MicroSoft Windows 2000 + SP1
2、 MicroSoft Internet Explorer 5.5
3、 IIS5.0
4 、 其它: MDAC 2.6 Beta 2

l.NET是运行库,还是开发平台?

微软的宏伟目标是让MicroSoft.NET彻底改变软件的开发方式、发行方式、使用方式等等,并且不止是针对微软一家,而是面向所有公司!2000年7月份在PDC展会上分发的是“.NET架构”包,“.NET架构”是MicroSoft.NET计划中首先问世的一部分,它包括了两方面的组件:“.NET通用运行库”和“.NET类库”。最近传来好消息说这两个组件已经被打包到“.NET架构SDK”中,放在微软的站上免费供大家下载,有兴趣的朋友一定要去试试看哦!另外,这个SDK中还包括C#、C++、javascript和VB的命令行编译器,使用这些编译器就可以开发应用程序和组件了,从这个角度来看,.NET架构首先是一个开发平台,因为它提供了运行库和类库,并且,下一个即将面市的就是Visual Studio.NET,其中包括了更加全面的SDK和图形化的开发界面、向导、工具等等,更象一个开发平台了。但是.NET的运行库其实已经融合到操作系统中,所以说它为运行库也是可以的。

l什么是NGWS?

ASP.NET实际上是一个崭新的运行结构的一部分,这个结构提供对所有windows应用程序的支持。这个结构是MicroSoft's Next Generation Web Services ( NGWS)关建部分。当你安装了这个结构,你就获得了ASP.NET。这个结构同样支持所有其它服务器程序技术。
  NGWS 结构通过对可升级分布式应用添加 [新的和增强的服务] 来扩展COM的结构,此种结构常用做编写可重复调用的可共同使用的软件组件,这些新的和增强的服务有:
  一套统一的丰富的程序库
一个支持多语言的运行引擎
简单地应用建立,调试,以及维护
对分布式应用加强了可升级性
保护现已存在的软件和投资

l在ASP.NET引入了namespace的概念,那么namespace是什么?
 
  对象一直是Windows开发环境中,程序开发的中心。不论在VB、VBA、VC++、VBScript等,都是如此,不同的开发环境有不同的对象,这些对象均是各个语法所提供的的“资源”,程序开发人员可以利用这些资源,来编写所需的系统,就象我们在盖房屋的一样,建筑师使用使用同样的素材,然而盖好的房子可能不尽相同。
    在过去的SP中,仅有Server、Request、Response…等七个对象。而在ASP.NET的对象库中却分得很细。
    例如在ASP.NET网页中要通过SQL语句获得数据库中的数据,必须使用“System.Data.SQL”,这是NameSpace名称。 在System.Data.SQL下,又有很多类(Class)。每个Class可视为一个对象,因为Class下有属性、方法和事件等



[4楼] | IP:已记录| 发表:2005-07-22 22:25 PM| 顶端    [送鲜花] [扔鸡蛋
南郭先生

 终身成就奖 优秀版主奖 千里马奖 灌水天才奖 风雨同舟奖
 头衔:居委会主任

 级别:论坛版主 发贴:16858
 威望:8850 金钱:825453.9
 >>> 拥有的物品
 注册时间:2004-06-06
 最后登陆:2010-01-03
《南郭先生个人文集》
《南郭先生私人日记》
《南郭先生电子相册》
宠物 PET
  查看作者资料 发送短消息 推荐此贴 引用回复这个贴子 删除或编辑改帖子  加入文集

  所以,最上层的NameSpace是看作是同类型对象的集合,一个NameSpace之下可拥有多个Class。他们之间的关系如图:

通过此图,我们了解了NameSpace及Class的概念,二者分別是表示对象集合和对象。

l如何应用名字空间(NameSpace)?

<%@ Import Namespace="System.Globalization"%>

<%@ Import Namespace="DataEmployee" %>

<%@ Import Namespace="System.Data" %>

<%@ Import Namespace="System.Data.ADO" %>

以上表示在ASP.NET网页中使用了四个NameSpace,接下来我们要申明变量,但此变量必须是已引用的四个NameSpace所属的Class,如:

Dim MyConnection As ADOConnection

Dim MyCommand As ADODataSetCommand

  说明:ADOConnection及ADODataSetCommand都是System.Data.ADO之下的Class。

lASP.NET中的文件类型?

ASP 的文件类型只有一种,其扩展名是.asp文件。那么在ASP.NET,就有很多的文件名:

文件扩展名用途及说明
Global.asaxASP.NET系统环境设置文件,相当与ASP中的Global.asa。
.aspx內含ASP程序代码的文件,如同過去的.asp,浏览器可执行此类文件,向服务器 提出浏览請求
.asmx制作Web Service的原始文件
.sdl制作Web Service的XML格式的文件
Vb或.cs在非ASP.NET环境下,执行Web Service的文件
.aspc可重覆使用在多个.aspx的文件,此文件內可含有控件
.ascx內含User Control的文件,可內含在多個.aspx文件中

l什么是NGWS Framework?

  ASP的综合性能明显的要好于以前的版本。到目前为至,ASP是通过一个名叫asp.dll 的ISAPI DLL来执行的,另外还加上一些系统文件和ASP用户组件。
这个新的NGWS结构反映了行业信息技术观点对于建立,调试以及维护各种WEB服务的需要的转变,这些服务包括简单的客户应用到复杂的分布式结构。上面所有的概念和策略只是 Windows Distributed Internet Applications (DIA)部分结构.
在这里我们最重要需要认识的问题是这里所说的结构(framework)不是我们所说ASP.NET。它只是做为windows系统中所有应用的基础。下面的图表给我们演示了framework是如何支持ASP.NET应用的。


lASP.NET对于asp来说有什么突破呢?

u运行机制不同
  asp属于一种解释型的编程框架,它的核心是vbs和js,受这两种脚本语言的限制,决定了asp先天不足,它无法进行象传统编程语言那样的底层操作,所以如果你需要进行一些诸如socket、文件等的操作时不得不借助于用其他传统编程语言如C++、VB 、JAVA等编写的组件,并且由于它是解释执行的,所以在运行效率上大打折扣。而ASP.NET呢,它是一种编译型的编程框架,它的核心是NGWS runtime ,除了和asp一样可以采用vbs和js作为编程语言外,还可以用VB和C# 来编写,这就决定了它功能的强大,可以进行很多低层操作而不必借助于其他编程语言。
u执行效率
  由于它是编译后运行的,所以执行效率要比asp高得多。

l  C#编译器选项全解
可以使用CSC.exe/?来察看可选项.
u输出文件相关选项 :
/out:<file>    输出文件名(如果不指定则从第一个源文件名中取得)
/target:exe    建立一个控制台可执行程序(这是默认选项)(可以缩略写作 /t:exe)
/target:winexe  建立一个windows可执行程序(可以缩略写作 /t:winexe)
/target:library    建立一个库(可以缩略写作 /t:library)
/target:module    建立一个可以加到其他汇编文件的模块(可以缩略写 作 /t:module)
/win32icon:<file> 指定一个图标作为输出文件的图标
/nooutput[+│-]  只检查代码中的错误,并不生成可执行程序
/define:<symbol file>  定义条件编译符号(可以缩略写作 /d)
/doc:<file>        生成XML文档

u输入文件相关选项:
/recures:<wildcard>  包括当前目录及其子目录下所有符合指定的通配符规则的文件
/main:<type>  指定包含入口点的类型(忽略其他所有可能的入口点)(可以缩略写作 /m)
/reference:<file list>    参考由给出的汇编文件所指定的元数据(可以缩略写作 /r)
/addmodule:<file list>  链接指定的模块到汇编文件中

u资源相关选项 :
/resource:<resinfo>      嵌入特定的资源(可以缩略写作 /res)
/linkresource:<resinfo>    链接指定的资源到汇编文件中(可以缩略写作 /linkers)

u代码生成相关选项
/debug[+│-]        产生调试信息
/optimize[+│-]        提供优化(可以缩略写作 /o)
/incremental[+│-]      进行增量编译,也就是只编译改变的部分(可以缩略写作 /incr)

u错误和警告相关选项
/warnaserror[+│-]      对警告与错误作相同处理
/warn:<n>        设定警告级别(0-4)(可以缩略写作 /w)
/nowarn:<warning list>    禁止特定的警告消息

u语言相关选项
/checked[+│-]        对上溢和下溢进行检查
/unsafe[+│-]        允许"不安全"的代码

u其他方面的选项
@<file>          读取相应文件以获取更多选项
/help            显示帮助文件(可以缩略写作 /?)
/nologo            禁止编译版权信息

u增强的选项
/baseaddress:<address>    指定被编译库的基地址
/win32res:<file>      通常用来指定存放版本和图标信息的WIN32资源文件
/bugreport:<file>      建立"错误报告"文件
/codepage:<n>        指定打开源文件时使用的代码页
/fullpath          指定程序生成的完整路径
/nostdlib[+│-]        不参考标准库(mscorlib.dll)


1.2.2 Visual Studio.NET 7.0安装
Visual Studio.NET 7.0的安装,机器必须满足下面的要求,

1、硬件要求:
①  CPU: Intel Pentium II-class 300 MHz (最好Intel Pentium III-class 600 MHz)
②  内存: 96 MB (最好128 MB)
③  磁盘空间: 250 MB(完全安装) 155 MB(快速安装)
④  显示: 800x600, 256 colors
⑤  CD-ROM: required
2、软件要求:
①  MicroSoft Windows 2000 + SP1
②  MicroSoft Internet Explorer 5.5
③  IIS5.0
④  其它: MDAC 2.6 Beta 2
  ASP.NET的安装过程很简单,只需按照简单提示安装即可。但是,如果你的机器安装了OFFICE2000,在此建议安装ASP.NET之前先备份\MicroSoft Office\Office\mso9.dll这个文件,因为安装完ASP.NET后,OFFICE会提示你注册,否则的话OFFICE2000就会出现限制使用50次。此时将备份的mso9.dll文件覆盖掉原来的文件即可。
ASP.NET(NGWS SDK)的下载地址:
http://download.microsoft.com/download/platformsdk/Trial/1812.10full/NT5/EN-US/Setup.exe
  安装微软的VisualStudio.NET Beta1和安装ASP.NET很多地方有惊人的相似,所以在此简单地提一下。
  安装beta1版本的记得必须先安装以下内容:
    1、windows2000 sp1
    2、安装IE5.5
    3、必须要装有iis,而且iiS要带front page扩展
    4、front page服务扩展的补丁QFE
相同地,安装完VisualStudio.NET后同样会出现OFFICE2000的50次限制,所以可以用同样的方法,先备份mso9.dll文件,然后安装完后覆盖掉原来的文件。

1.2.3 运行环境IDE
微软的vs.net7.0 IDE是一个非常丰富的变成环境,可以进行C#/VC++、VB.NET、ASPX等的编程,你甚至也可以编写ASP文件。
  你首先看到的是IDE,IDE看起来很熟悉,开发VS.NET IDE的开发人员以前曾开发过VB的IDE,它在VB IDE的基础上又有了新的提高。
  然而,IDE的变化绝非是表面性的。所有的.NET语言都使用同一个IDE,其中的新工具的功能是强大而全面的,你可以把任何一个设计窗口设定为自动隐藏(就象Windows中的任务条一样),这样就可以使桌面显得不太凌乱,如下面所示:



  主工作区是一系列的标签,也就是说IDE不会同时显示许多的窗体或代码模块,在打开对象的源代码时,IDE就会在相应对象的主区内增加新按钮,如下面所示:




  IDE中还有一个新的被称作任务清单的窗口,其中的内容包括你和IDE创建的项目。例如,如果在编译一个VB项目时收到一个错误信息,VB就会在任务清单中创建一个条目来解释这个问题,如下所示:



你还可以直接在任务清单中添加一个条目,或者通过在代码中建立以"TODO:"开头的注释把代码中的一个位置与任务联系起来。我非常喜欢微软添加的任务清单,它能使我节约不少的时间,并有助于我能够更好地调试自己的软件。
  另一个会立刻感受到的变化是.NET IDE中的窗体。微软抛弃了原来的窗体引擎,而采用了Windows风格的窗体,所有的基于CLR的语言都使用Windows的窗体引擎,与VB6等中的使用的窗体引擎相比,它有几个明显的优点。例如,Windows的窗体可以自动地改变其中的组件的大小,而且可以把控制锁定在特定的位置,也就是说,我们无需借助第三方的工具来完成相应的工作了。另外,Windows的窗体还可以使我们完成另外一些很"酷"的工作,例如创建透明的窗体。
  过去,VB隐藏了创建一个窗体所必需的全部工作。我们使用IDE创建一个窗体,并在Initialize事件处理程序中添加代码,但对于发生在这两者之间的过程则无能为力。在VB.NET中,窗体成了一个类,包含创建窗体的全部代码,我认为这些代码是"鸡肋",原因是大多数的开发人员都不想去理它。如果说有一种东西一定能让你的软件出问题,那就是这些代码了。一些高级开发人员可以通过这些代码完成一些很"酷"的工作,因为它可以让你"看到"VB创建窗体的全部情况。如果不想看,你并非必须看这些代码,新的代码编辑器可以扩展或消除一些代码区,在缺省状态下这些代码是不会显示的。代码编辑器还包括一些新的特性,例如它可以自动地对编辑的源代码进行"缩进"处理,而且可以显示源代码的行号,如下面所示:




还有有了这个IDE之后,我们就可以不用手工编写编译语句了,直接就可以把我们的.vb或者.cs文件编译成.dll或者.exe文件,等等。
总之,微软的.NET IDE是一个很酷的编程环境,如果一个一个的介绍,那可得写几本书了,大家只有多用才会熟练啊。
  总之,微软的.net是一个很酷的变成环境,如果一个一个的介绍,那可的小写基本书了,大家只有多用才会熟练。
1.2.4 小结
MicroSoft .NET的策略是将互联网本身作为构建新一代操作系统的基础,对互联网和操作系统的设计思想进行合理延伸。这样,开发人员必将创建出摆脱设备硬件束缚的应用程序,以便轻松实现互联网连接。MicroSoft .NET无疑是当今计算机技术通向计算时代的一个非常重要的里程碑。通过上面的介绍,相信大家对.net以及asp.net有了一定的了解。在下面的内容,我们将带大家进入一个崭新的ASP.NET世界。



[5楼] | IP:已记录| 发表:2005-07-22 22:25 PM| 顶端    [送鲜花] [扔鸡蛋
南郭先生

 终身成就奖 优秀版主奖 千里马奖 灌水天才奖 风雨同舟奖
 头衔:居委会主任

 级别:论坛版主 发贴:16858
 威望:8850 金钱:825453.9
 >>> 拥有的物品
 注册时间:2004-06-06
 最后登陆:2010-01-03
《南郭先生个人文集》
《南郭先生私人日记》
《南郭先生电子相册》
宠物 PET
  查看作者资料 发送短消息 推荐此贴 引用回复这个贴子 删除或编辑改帖子  加入文集

第二篇 WEB 页面
第一章            WEB 页面简介
2.1.1 WEB form
表单,英文单词是form,学习过VB的朋友一定不会陌生。在MS.NET架构里,form是一个经常使用到的词汇。比如:编写Windows 应用时会提到Windows form,编写Web 应用时会提到Web form。Windows form可以看作一个Windows窗体,这和在VB里面一样。而Web form则代表了一个一个的Web页面。总的看来,form就像是一个容纳各种控件的容器,各种控件都必须直接或者间接的和它有依存关系。form在这里译作“WEB表单”似乎有些不妥。“表单”这个词,在WEB程序员看来,总是和HTML里面的“form”相混淆。“WEB表单”似乎翻译成“WEB页面”更加妥当一些。

大家还记得VB里面的form实际上就是一个对象吧,它可以有自己的属性、方法、事件等等。WEB表单,或者说WEB页面,实际上是一个“对象” (Object)。MS.NET架构里面一个比较重要的概念就是“对象”:所有的控件都是对象,甚至数据类型都成了对象;每种数据类型都有自己特有的属性和方法。我们在后面的编程中将可以体会到。

WEB form的后缀名是ASPX。当一个浏览器第一次请求一个ASPX文件时,WEB form页面将被CLR(common language runtime)编译器编译。此后,当再有用户访问此页面的时候,由于ASPX页面已经被编译过,所以,CLR会直接执行编译过的代码。这和ASP的情况完全不同。ASP只支持VBScript和javascript这样的解释性的脚本语言。所以ASP页面是解释执行的。当用户发出请求后,无论是第一次,还是第一千次,ASP的页面都将被动态解释执行。而asp.net支持可编译的语言,包括VB.NET、C#、Jscript.NET等。所以,asp.net是一次编译多次执行。

为了简化程序员的工作,ASPX页面不需要手工编译,而是在页面被调用的时候,由CLR自行决定是否编译。一般来说,下面两种情况下,ASPX会被重新编译:

1.ASPX页面第一次被浏览器请求;

  2.ASPX被改写

由于ASPX页面可以被编译,所以ASPX页面具有组件一样的性能。这就使得ASPX页面至少比同样功能的ASP页面快250%!

下面我们来看一下简单的WEB页面。

2.1.2 我的第一个Page
把下面的代码拷贝到myfirstpage.aspx文件中,然后从浏览器访问这个文件:

<!--源文件:form\web页面简介\myfirstpage.aspx-->

<form action="myfirstpage.aspx" method="post">



          <h3> 姓名: <input id="name" type=text>



          所在城市:  <select id="city" size=1>

                        <option>北京</option>

                        <option>上海</option>

                        <option>重庆</option>

                    </select>



          <input type=submit value="查询">



</form>

      你可能觉得这个页面太简单了,用HTML就可以完成。是的!微软建议你将所有的文件哪怕是纯HTML文件都保存为ASPX文件后缀,这样可以加快页面的访问效率!不仅仅是在asp.net环境中,在IIS5.0以后的ASP3.0就已经支持这个特性了。

      由于我们没有对表单提交做任何响应,所以,当你按下“查询”按钮,页面的内容没有什么改变。

下面我们将逐步使用asp.net的思考方式,来完成我们的页面。

2.1.3 WEB页面处理过程
      这一节我们将深入到asp.net内部,看看页面是怎样被处理的。

      和所有的服务器端进程一样,当ASPX页面被客户端请求时,页面的服务器端代码被执行,执行结果被送回到浏览器端。这一点和ASP并没有太大的不同。

      但是,asp.net的架构为我们做了许多别的事情。比如,它会自动处理浏览器的表单提交,把各个表单域的输入值变成对象的属性,使得我们可以像访问对象属性那样来访问客户的输入。它还把客户的点击映射到不同的服务器端事件。

      了解WEB页面的处理过程很重要。这样你可以仔细地优化你的代码,提高代码的效率。

2.1.3.1 页面的一次往返处理
  用户对Server Control的一次操作,就可能引起页面的一次往返处理:页面被提交到服务器端,执行响应的事件处理代码,重建页面,然后返回到客户端。

正因为每个Control都可能引发一次页面的服务器端事件,所以,asp.net尽量减少了控件的事件类型。很多组件都只有onClick事件。特别的,asp.net不支持服务器端的onMouseOver事件。因为onMouseOver事件发生得非常频繁。所以,支持服务器端的onMouseOver事件是非常不现实的。

2.1.3.2 页面重建
  每一次页面被请求,或者页面事件被提交到服务器,asp.net运行环境将执行必要的代码,重建整个页面,把结果页面送到浏览器,然后抛弃页面的变量、控件的状态和属性等等页面信息。当下一次页面被处理时,asp.net运行环境是不知道它的上一次执行情况的。在这个意义上,ASPX页面是没有状态的。这也是HTTP协议的特点(为了加速页面的访问,在asp.net页面里面可以使用缓存机制,也就是保存页面的执行结果,下一次页面被请求时,直接送回上一次的执行结果。)。

  在ASP中,当页面被提交到服务器端时,只有那些用户输入的值被传递到服务器。其他的比如组件的属性、变量的值,是不会传递的。所以服务器无法了解组件的进一步的信息。

在asp.net中,页面对象的属性、页面控件的属性被称为“view state”(页面状态)。页面状态在asp.net中被受到特别关照。请看服务器端(page1.aspx)的代码:

<!--源文件:form\web页面简介\page1.aspx-->

<HTML>

<BODY>

<SCRIPT  language="VB"  runat="server">

  Sub  Showvalues(Sender  As  Object,  Args  As  EventArgs)

    divResult.innerText  =  "You  selected  '"  _ 

&  selOpSys.value  &  "'  for  machine  '"  _ 

    &  txtName.value  &  "'."

    End  Sub

</SCRIPT>

<DIV  id="divResult"  runat="server">

</DIV>

<form  runat="server">

机器名:

<INPUT  type="text"  id="txtName"  runat="server">

  <P  />

操作系统:

    <select  id="selOpSys"  size="1"  runat="server">

        <OPTION>Windows  95</OPTION>

        <OPTION>Windows  98</OPTION>

        <OPTION>Windows  NT4</OPTION>

        <OPTION>Windows  2000</OPTION>

      </SELECT>

    <P  />

<INPUT type="submit"  value="Submit" runat="server"  onserverclick="Showvalues">       

</form>

  </BODY>

</HTML>



  运行后将自动被解释成客户端代码,如下:

<HTML>

<BODY>

You  selected  'Windows  98'  for  machine  'iceberg'.

<form  name="ctrl0"  method="post"  action="pageone.aspx"  id="ctrl0">

<INPUT  type="hidden"  name="__VIEWSTATE"  value="a0z1741688109__x">

机器名:

<INPUT  type="text"  id="txtName"  name="txtName"  value="tizzy">

      <P  />

操作系统:

<SELECT  id="selOpSys"  size="1"  name="selOpSys">

  <OPTION  value="Windows  95">Windows  95</OPTION>

    <OPTION  selected  value="Windows  98">Windows  98</OPTION>

        <OPTION  value="Windows  NT4">Windows  NT4</OPTION>

  <OPTION  value="Windows  2000">Windows  2000</OPTION>

    </SELECT>

<P  />

  <INPUT  type="submit"  value="Submit">

  </form>

</BODY>

</HTML>



  对于上面的代码,服务器端控件能在服务器端脚本中被自由运用。如果我们用传统的ASP代码实现上述的功能的话:

  If  Len(Request.form("selOpSys"))  >  0  Then

      StrOpSys  =  Request.form("selOpSys")

      StrName  =  Request.form("txtName")

      Response.Write("You  selected  '"  &  strOpSys  _                                       

      &  "'  for  machine  '"  &  strName  &  "'.")

  End  If

 

  如果我们用asp.net的话,程序代码如下:

    If  Len(selOpSys.value)  >  0  Then

      Response.Write("You  selected  '"  &  selOpSys.value  _

      &  "'  for  machine  '"  &  txtName.value  &  "'.")

    End  If

  通过上面例子不难看出:asp.net页面具有组件方式的方便性和灵活性。

  请注意:asp.net通过把页面的状态封装到一个隐藏的输入域,从而可以在不同的页面之间实现传递页面的状态。

  另外,asp.net也支持应用程序一级的状态管理。这个特性在ASP中就已经实现。


[6楼] | IP:已记录| 发表:2005-07-22 22:26 PM| 顶端    [送鲜花] [扔鸡蛋

{第1页  1   2   3   4   5   6   7   8  …… 第18页}    Pages:(共 18 页)

 精品文化论坛 -> 电脑软件

发新帖 新投票 回复此帖

[ 联系我们 - 网站地图 - 陇ICP备05000927 ]
Powered by Ofstar 2.6.0 CR Copyright © 2003-05 Ofstar Team Gzip enabled