1、译文标题ASP.net技术及数据库管理原文标题ASP.net Technology And Database Management作 者Sandy译 名苏丽曼国 籍中国原文出处ASP.net技术ASP.net是基于通用语言的编译运行的程序,它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.net的Web应用中。ASP.net同时也是language-independent语言独立化的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有C#(C+和Java的结
2、合体),VB,Jscript,C+、F+。将来,这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序,能够完整的移植向ASP.net。ASP.net一般分为两种开发语言,VB.net和C#,C#相对比较常用,因为是.NET独有的语言,VB.net则为以前VB程序设计,适合于以前VB程序员,如果新接触.NET,没有其他开发语言经验,建议直接学习C#即可。ASP.net使运行一些很平常的任务如表单的提交客户端的身份验证、分布系统和网站配置变得非常简单。例如ASP.net页面构架允许你建立你自己的用户分界面,使其不同于常见的VB-Like界面。ASP.net使用一种字符基础的,分级的配
3、置系统,使你服务器环境和应用程序的设置更加简单。因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现。这种被称为Zero Local Administration的哲学观念使A的基于应用的开发更加具体,和快捷。一个ASP.net的应用程序在一台服务器系统的安装只需要简单的拷贝一些必须的文件,不需要系统的重新启动,一切就是这么简单。多处理器环境的可靠性 ASP.net已经被刻意设计成为一种可以用于多处理器的开发工具,它在多处理器的环境下用特殊的无缝连接技术,将很大的提高运行速度。即使你现在的ASP.net应用软件是为一个处理器开发的,将来多处理器运行时不需要任何改
4、变都能提高他们的效能,但现在的ASP却做不到这一点。自定义性和可扩展性 ASP.net设计时考虑了让网站开发人员可以在自己的代码中自己定义plug-in的模块。这与原来的包含关系不同,ASP.net可以加入自己定义的如何组件。网站程序的开发从来没有这么简单过。安全性基于Windows认证技术和每应用程序配置,你可以确保你的原程序是绝对安全的。 ASP.net 的语法在很大程度上与 ASP 兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。可以通过在现有 ASP 应用程序中逐渐添加 ASP.net 功能,随时增强 ASP 应用程序的功能。 ASP
5、. net 是一个已编译的、基于 . net 的环境,把基于通用语言的程序在服务器上运行。将程序在服务器端首次运行时进行编译,比ASP即时解释程序速度上要快很多.而且是可以用任何与 . net 兼容的语言(包括 Visual Basic . net、C# 和 JScript . net.)创作应用程序。另外,任何 ASP. net 应用程序都可以使用整个 . net Framework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。 ASP. net 可以无缝地与 WYSIWYG HTML 编辑器和其他编程工具(包括 Microsoft Visua
6、l Studio . net)一起工作。这不仅使得 Web 开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到 Web 页的 GUI 和完全集成的调试支持。 当创建 ASP. net 应用程序时,开发人员可以使用 Web 窗体或 XML Web services,或以他们认为合适的任何方式进行组合。每个功能都能得到同一结构的支持,使您能够使用身份验证方案,缓存经常使用的数据,或者对应用程序的配置进行自定义. 如果你从来没有开发过网站程序,那么这不适合你,你应该至少掌握一些HTML语言和简单的Web开发术语(不过我相信如果有兴趣的话是可以很快的掌握的)。
7、你不需要先前的ASP开发经验(当然有经验更好),但是你必须了解交互式Web程序开发的概念,包含窗体,脚本,和数据接口的概念,如果你具备了这些条件的话,那么你就可以在A的世界开始展翅高飞了。ASP.net不仅仅是 Active Server Page (ASP) 的下一个版本,而且是一种建立在通用语言上的程序构架,能被用于一台Web服务器来建立强大的Web应用程序。ASP.net提供许多比现在的Web开发模式强大的优势。ASP. net 运行的架构分为几个阶段:在 IIS 与 Web 服务器中的消息流动阶段。 在 ASP. net 网页中的消息分派。 在 ASP. net 网页中的消息处理。AS
8、P. net 的原始设计构想,就是要让开发人员能够像 VB 开发工具那样,可以使用事件驱动式程序开发模式 (Event-Driven Programming Model) 的方法来开发网页与应用程序,若要以ASP技术来做到这件事的话,用必须要使用大量的辅助信息,像是查询字符串或是窗体字段数据来识别与判断对象的来源、事件流向以及调用的函数等等,需要撰写的代码量相当的多,但 ASP. net 很巧妙利用窗体字段和JavaScript脚本把事件的传递模型隐藏起来了。在 ASP. net 运行的时候,经常会有网页的来回动作 (round-trip),在 ASP. net 中称为 PostBack,在传
9、统的 ASP 技术上,判断网页的来回是需要由开发人员自行撰写,到了 ASP. net 时,开发人员可以用 Page.IsPostBack 机能来判断是否为第一次运行 (当 ASP.NET 发现 HTTP POST 要求的数据是空值时),它可以保证 ASP. net 的控件事件只会运行一次,但是它有个缺点(基于 HTTP POST 本身的缺陷),就是若用户使用浏览器的刷新功能 (按 F5 或刷新的按钮) 刷新网页时,最后一次运行的事件会再被运行一次,若要避免这个状况,必须要强迫浏览器清空高速缓存才可以。状态管理 (state management) 在Web应用程序中,一向是很重要的课题,良好的
10、状态管理可以帮助开发人员发展出具有状态持续能力的应用程序(像是工作流程型应用程序或是电子商务应用程序),但状态管理功能会视应用程序的部署状态以及信息的共用程度来选择,在 ASP. net 中,分为服务器端状态管理以及用户端状态管理,用户端状态管理为ViewState以及Cookies,服务端状态管理则是Session与Application对象。它们的差异点在于:ViewState 是加密的数据流,和 HTML 一起输出到用户端。 Cookies 是加密(也可不加密)的小型数据,和 HTML 不同,它可以高速缓存在用户端浏览器中。 Session 是服务器端的状态保存机制,每个用户端均有独立的
11、空间(以浏览器运行个体来赋与唯一的SessionID值)。 Application 是服务器端的状态保存机制,但应用程序所有的用户端共用同一份状态数据。状态管理在单一服务器上,可以储存在服务器的存储器中,但若是在大型网站中,使用许多的 Web 服务器来实行负载平衡(Load Balancing)处理时,会有状态储存在哪个位置的问题,因此需要有一个可以在每个 Web 服务器之间做状态储存的媒介,像是独立的服务器或是数据库等等。在 ASP. net 中支持了四种状态储存的媒介:InProc:储存与 ASP. net 相同的运行进程中 (in-procedure state),适合单一服务器的状态储
12、存。 StateServer:储存在 ASP. net 状态服务器 (state server) 中,适合跨服务器的状态储存,但因为它使用的通讯端口,因此在使用上需要注意防火墙的问题。 SQLServer:储存在独立的 SQL Server 数据库中,适合跨服务器的状态储存。 Custom:以自行实现的状态提供者 (state provider)。数据库管理系统数据库记录和文件的组织必须确保能对信息进行检索。早期的系统是顺序组织的(如:字母顺序、数字顺序或时间顺序);直接访问存储设备的研制成功使得通过索引随机访问数据成为可能。用户检索数据库信息的主要方法是query(查询)。通常情况下,用户提
13、供一个字符串,计算机在数据库中寻找相应的字符序列,并且给出字符串在何处出现。比如,用户必须能在任意给定时间快速处理内部数据。而且,大型企业和其它组织倾向于建立许多独立的文件,其中包含相互关联的甚至重叠的数据,这些数据、处理活动经常需要和其它文件的数据相连。为满足这些要求,开发邮各种不同类型的数据库管理系统,如:非结构化的数据库、层次型数据库、网络型数据库、关系型数据库、面向对象型数据库。在非结构化的数据库中,按照实体的一个简单列表组织记录;很多个人计算机的简易数据库是非结构的。层次型数据库按树型组织记录,每一层的记录分解成更小的属性集。层次型数据库在不同层的记录集之间提供一个单一链接。与此不同
14、,网络型数据库在不同记录集之间提供多个链接,这是通过设置指向其它记录集的链或指针来实现的。网络型数据库的速度及多样性使其在企业中得到广泛应用。当文件或记录间的关系不能用链表达时,使用关系型数据库。一个表或一个“关系”,就是一个简单的非结构列表。多个关系可通过数学关系提供所需信息。面向对象的数据库存储并处理更复杂的称为对象的数据结构,可组织成有层次的类,其中的每个类可以继承层次链中更高一级类的特性,这种数据库结构最灵活,最具适应性。很多数据库包含自然语言文本信息,可由个人在家中使用。小型及稍大的数据库在商业领域中占有越来越重要的地位。典型的商业应用包括航班预订、产品管理、医院的医疗记录以及保险公
15、司的合法记录。最大型的数据库通常用天政府部门、企业、大专院校等。这些数据库存有诸如摘要、报表、成文的法规、通讯录、报纸、杂志、百科全书、各式目录等资料。索引数据库包含参考书目或用于找到相关书籍、期刊及其它参考文献的索引。目前有上万种可公开访问的数据库,内容包罗万象,从法律、医学、工程到新闻、时事、游戏、分类广告、指南等。科学家、医生、律师、财经分析师、股票经纪人等专家和各类研究者越来越多地依赖这些数据库从大量的信息中做快速的查找访问。数据库管理系统的组织技术顺序的、直接的以及其他的文件处理方式常用于单个文件中数据的组织和构造,而DBMS可综合几个文件的数据项以回答用户对信息的查询,这就意味着D
16、BMS能够访问和检索非关键记录字段的数据,即DBMS能够将几个大文件夹中逻辑相关的数据组织并连接在一起。逻辑结构。确定这些逻辑关系是数据管理者的任务,由数据定义语言完成。DBMS在存储、访问和检索操作过程中可选用以下逻辑构造技术:链表结构。在该逻辑方式中,记录通过指针链接在一起。指针是记录集中的一个数据项,它指出另一个逻辑相关的记录的存储位置,例如,顾客主文件中的记录将包含每个顾客的姓名和地址,而且该文件中的每个记录都由一个账号标识。在记账期间,顾客可在不同时间购买许多东西。公司保存一个发票文件以反映这下地交易,这种情况下可使用链表结构,以显示给定时间内未支付的发票。顾客文件中的每个记录都包含
17、这样一个字段,该字段指向发票文件中该顾客的第一个发票的记录位置,该发票记录又依次与该顾客的下一个发票记录相连,此链接的最后一个发票记录由一个作为指针的特殊字符标识。层次(树型)结构。该逻辑方式中,数据单元的多级结构类似一棵“倒立”的树,该树的树根在顶部,而树枝向下延伸。在层次(树型)结构中存在主-从关系,惟一的根数据下是从属的元或节点,而每个元或树枝都只有一个所有者,这样,一个customer(顾客)拥有一个invoice(发票),而invoice(发票)又有从属项。在树型结构中,树枝不能相连。网状结构。网状结构不像树型结构那样不允许树枝相连,它允许节点间多个方向连接,这样,每个节点都可能有几
18、个所有者,中央电视台它又可能拥有任意多个其他数据单元。数据管理软件允许从文件的任一记录开始提取该结构中的所需信息。关系型结构。关系型结构由许多表格组成,数据则以“关系”的形式存储在这些表中。例如,可建立一些关系表,将大学课程同任课教师及上课地点连接起来。为了找到英语课的上课地点和教师名,首先查询课程/教师关系表得到名字(为“Fitt”),再查询课程/地点关系表得到地点(“Main 142”),当然,也可能有其他关系。这是一个相当新颖的数据库组织技术,将来有望得到广泛应用。物理结构。人们总是为了各自的目的,按逻辑方式设想或组织数据。因此,在一个具体应用中,记录R1和R2是逻辑相连且顺序处理的,但
19、是,在计算机系统中,这些在一个应用中逻辑相邻的记录,物理位置完全可能不在一起。记录在介质和硬件中的物理结构不仅取决于所采用的I/O设备、存储设备及输入输出和存取技术,而且还取决于用户定义的R1和R2中数据的逻辑关系。例如,R1和R2可能是持有信用卡的顾客记录,而顾客要求每两周将货物运送到同一个城市的同一个街区,而从运输部门的管理者看,R1和R2是按地理位置组织的运输记录的顺序项,但是在A/R应用中,可找到R1长表示的顾客,并且可根据其完全不同的账号处理他们的账目。简言之,在许多计算机化的信息记录中,存储记录的物理位置用户是看不见的。ASP.net TechnologyA is based on
20、 the common language of compiler operation of the procedure, its strength and stability, can make it runs on the Web application of software developers almost all of the platform. The common language of basic library, information mechanism, data interface treatment can seamlessly integrate into the
21、Web applications. A is also independent language language - feasibility of, so, you can choose a kind of the most suitable for your language to write your program, or put your program in a number of language to write, now support with c # (c + + and Java combination), VB, Jscript, c + +, F+. In the
22、future, such a variety of program language collaborative working ability to protect your present based on COM + development program, can complete transplant to .A generally fall into two kind of development language, using the and c #, c # relatively common, because it is unique language, using the
23、VB programming is used, suitable for VB programmers, if before new , no other development experience with language, suggest direct study c # can. A to run some very common tasks such as form submission of client identity authentication, distribution system and website configuration became very simpl
24、e. For example page framework allows you to build your own user boundary surface, make it different from common VB - Like interface.A using a character basis, classification of the allocation system, make your server environment and application Settings more simple. Because configuration information
25、 is stored on simple text, new Settings may need not start local administrator tools can be achieved. Known as the Zero Local under the philosophy that application development based on the more specific, and quick. An application in a server system installation simply copy some must file, do not nee
26、d system reboot, everything is so simple. Multiprocessor environment reliability has been deliberately designed as a can be used for multiprocessor development tool, it on a multiprocessor environment with special seamless connection technology, will greatly increase speed. Even if you now my applic
27、ation software is developed for one processor, future multiprocessor runtime dont need any change can improve their efficiency, but now the ASP but cannot do this. Custom sex and expansibility design is an important consideration let web developers in their own code define your own plug - in module.
28、 This with the original included relation is different, can join his definitions of how components. Website program development never so simple. Security Windows based certification technology and every application configuration, you can ensure that your original procedures are absolutely safe. A gr
29、ammar in the very great degree with ASP compatible, and it offers a new programming model and structure, it can create a loft and stability better applications, and provide a better security protection. Can pass in existing ASP application gradually add function, at any time enhancement ASP applicat
30、ion function. A is an already compiled, based on environment, based on general language program in the server. A program in the servers first run, compile than ASP instant explanation program to a lot faster speed and can use compatible with the languages (including Visual B, using c # and JS.) crea
31、tion applications. In addition, any application can be used throughout Framework. Developers can conveniently to obtain these technical advantages, including custody of the common language runtime type safety, environment, inherit, etc. A can seamlessly with WYSIWYG HTML editor and other programming
32、 tools (including Microsoft Visual ) work together. This not only make the Web development more convenient, but also can provide these tools must provide all the advantages, including developers can be used to will server controls drag-and-drop Web page GUI and fully integrated debugging support. Wh
33、en creating application, the developers can use Web form or XML Web services for, or in any way they deem fit combined. Each function can get the same structural support, make you can use identity verification scheme, the cache often use of data, or for application configuration for custom. If you h
34、ave never development of a Web site procedures, so its not for you, you should at least master some HTML language and simple Web development terms (but I believe if interested can be quickly grasp). You dont need to previous ASP development experience (of course experienced better), but you must und
35、erstand interactive Web application development concepts, ranging form, the script, and data interface concept, if you have these conditions, then you can be in world begins to soar.A is not only the Active Server brief (ASP) next version, and is a built in common language program structure that can
36、 be used to a Web Server to build a powerful Web applications. A provides many Web development mode than now great advantage. A operation framework is divided into several stages: With the Web server in IIS news flow stage. A page in the news dispatch. A page in the message handling. A original desi
37、gn conception, is to make the developer as VB development tool that can use event-driven type program development mode (-) - Driven to Model the method to develop web pages with application, if want to use ASP technology to achieve this jop, use must use a large number of ancillary information, such
38、 as the query string or form field data to identify and judge the object of source, Event flow and the called function, etc., need to write code is quite, but very ingenious use of form fields and JavaScript scripts to events hidden transfer Model. In when run, there are often web round-trip action
39、(round - trip), in the called picker, in in traditional ASP technology, judge web of back is needed by developers themselves to write, , developers can use brief. IsPostBack function to judge whether for first run (when found HTTP POST requirement of data is null), it will ensure that controls event
40、s will only run again, but it has a shortcoming (based on HTTP POST, the defect), is when the user use the browsers renovatesthe function (hit F5 or refresh button) refresh web, the last time running events will be run again, if we are to avoid this situation, must want to force the browser cache ca
41、n empty. State management (state management) in Web applications, it is always very important topic, good condition management to help developers to develop with state to sustain the applications (such as work flow type Application or e-commerce applications), but state management function may view
42、Application status and the deployment of information sharing degree chooses in , divided into the server configuration management and client state management, client state management for ViewState and Cookies, server Session state management is to apply object. Their cultures depends on: ViewState i
43、s encrypted data streams, and HTML together the output to client. Cookies are encrypted (also dont encryption) of small data, and HTML is different, it can high-speed slow existing client browser. Is the server Session state preservation mechanism, each client all have independent space (in browsers
44、 run individual to fu with only SessionID values). Apply is server-side state preservation mechanism, but the client Application all Shared one state data. State management in a single server, can be stored in the servers memory, but if in the large-scale Web site, use a lot of Web server to impleme
45、nt the Load balance (-) processing, Load there will be stored in the state where on the problem, so it needs a can in every Web server storage medium between state, such as independent servers or database, etc. In in support of four state storage medium: InProc: storage and the same operation proces
46、s (state) procedure in -, suitable for a single server status of storage. StateServer: storage in state server (state server), suitable for cross-server state storage, but because it USES communication port, so in use should be paid attention to the firewall problem. SQLServer: stored in separate SQ
47、L Server database, suitable for cross-server state storage. Custom: on the realization of state provider (state provider).Database ManagementDatabase records and files must be organized to allow retrieval of the information. Early system were arranged sequentially (i.e., alphabetically, numerically,
48、 or chronologically); the development of direct-access storage devices made possible random access to data via indexes. Queries are the main way users retrieve database information. Typically the user provides a string of characters, and the computer searches the database for a corresponding sequence and provides the source materials in wh