1、外 文 翻 译原 文 标 题ASP.net Technology And Database Management 译 文 标 题ASP.net技术及数据库管理作者所在系别计算机科学与工程系译文标题ASP.net技术及数据库管理原文标题ASP.net Technology And Database ManagementASP.net技术ASP.net是基于通用语言的编译运行的程序,它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.net的Web应用中。ASP.net同时也是language-independ
2、ent语言独立化的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有C#(C+和Java的结合体),VB,Jscript,C+、F+。将来,这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序,能够完整的移植向ASP.net。ASP.net一般分为两种开发语言,VB.net和C#,C#相对比较常用,因为是.NET独有的语言,VB.net则为以前VB程序设计,适合于以前VB程序员,如果新接触.NET,没有其他开发语言经验,建议直接学习C#即可。ASP.net使运行一些很平常的任务如表单的提交客户端的身份验证、分布系统和网站配置变得非
3、常简单。例如ASP.net页面构架允许你建立你自己的用户分界面,使其不同于常见的VB-Like界面。ASP.net使用一种字符基础的,分级的配置系统,使你服务器环境和应用程序的设置更加简单。因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现。这种被称为Zero Local Administration的哲学观念使A的基于应用的开发更加具体,和快捷。一个ASP.net的应用程序在一台服务器系统的安装只需要简单的拷贝一些必须的文件,不需要系统的重新启动,一切就是这么简单。多处理器环境的可靠性 ASP.net已经被刻意设计成为一种可以用于多处理器的开发工具,它在多处
4、理器的环境下用特殊的无缝连接技术,将很大的提高运行速度。即使你现在的ASP.net应用软件是为一个处理器开发的,将来多处理器运行时不需要任何改变都能提高他们的效能,但现在的ASP却做不到这一点。自定义性和可扩展性 ASP.net设计时考虑了让网站开发人员可以在自己的代码中自己定义plug-in的模块。这与原来的包含关系不同,ASP.net可以加入自己定义的如何组件。网站程序的开发从来没有这么简单过。安全性基于Windows认证技术和每应用程序配置,你可以确保你的原程序是绝对安全的。 ASP.net 的语法在很大程度上与 ASP 兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好
5、的应用程序,并提供更好的安全保护。可以通过在现有 ASP 应用程序中逐渐添加 ASP.net 功能,随时增强 ASP 应用程序的功能。 ASP. net 是一个已编译的、基于 . net 的环境,把基于通用语言的程序在服务器上运行。将程序在服务器端首次运行时进行编译,比ASP即时解释程序速度上要快很多.而且是可以用任何与 . net 兼容的语言(包括 Visual Basic . net、C# 和 JScript . net.)创作应用程序。另外,任何 ASP. net 应用程序都可以使用整个 . net Framework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环
6、境、类型安全、继承等等。 ASP. net 可以无缝地与 WYSIWYG HTML 编辑器和其他编程工具(包括 Microsoft Visual Studio . net)一起工作。这不仅使得 Web 开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到 Web 页的 GUI 和完全集成的调试支持。 当创建 ASP. net 应用程序时,开发人员可以使用 Web 窗体或 XML Web services,或以他们认为合适的任何方式进行组合。每个功能都能得到同一结构的支持,使您能够使用身份验证方案,缓存经常使用的数据,或者对应用程序的配置进行自定义. 如果
7、你从来没有开发过网站程序,那么这不适合你,你应该至少掌握一些HTML语言和简单的Web开发术语(不过我相信如果有兴趣的话是可以很快的掌握的)。你不需要先前的ASP开发经验(当然有经验更好),但是你必须了解交互式Web程序开发的概念,包含窗体,脚本,和数据接口的概念,如果你具备了这些条件的话,那么你就可以在A的世界开始展翅高飞了。ASP.net不仅仅是 Active Server Page (ASP) 的下一个版本,而且是一种建立在通用语言上的程序构架,能被用于一台Web服务器来建立强大的Web应用程序。ASP.net提供许多比现在的Web开发模式强大的优势。ASP. net 运行的架构分为几个
8、阶段:在 IIS 与 Web 服务器中的消息流动阶段。 在 ASP. net 网页中的消息分派。 在 ASP. net 网页中的消息处理。ASP. net 的原始设计构想,就是要让开发人员能够像 VB 开发工具那样,可以使用事件驱动式程序开发模式 (Event-Driven Programming Model) 的方法来开发网页与应用程序,若要以ASP技术来做到这件事的话,用必须要使用大量的辅助信息,像是查询字符串或是窗体字段数据来识别与判断对象的来源、事件流向以及调用的函数等等,需要撰写的代码量相当的多,但 ASP. net 很巧妙利用窗体字段和JavaScript脚本把事件的传递模型隐藏起
9、来了。在 ASP. net 运行的时候,经常会有网页的来回动作 (round-trip),在 ASP. net 中称为 PostBack,在传统的 ASP 技术上,判断网页的来回是需要由开发人员自行撰写,到了 ASP. net 时,开发人员可以用 Page.IsPostBack 机能来判断是否为第一次运行 (当 ASP.NET 发现 HTTP POST 要求的数据是空值时),它可以保证 ASP. net 的控件事件只会运行一次,但是它有个缺点(基于 HTTP POST 本身的缺陷),就是若用户使用浏览器的刷新功能 (按 F5 或刷新的按钮) 刷新网页时,最后一次运行的事件会再被运行一次,若要避
10、免这个状况,必须要强迫浏览器清空高速缓存才可以。状态管理 (state management) 在Web应用程序中,一向是很重要的课题,良好的状态管理可以帮助开发人员发展出具有状态持续能力的应用程序(像是工作流程型应用程序或是电子商务应用程序),但状态管理功能会视应用程序的部署状态以及信息的共用程度来选择,在 ASP. net 中,分为服务器端状态管理以及用户端状态管理,用户端状态管理为ViewState以及Cookies,服务端状态管理则是Session与Application对象。它们的差异点在于:ViewState 是加密的数据流,和 HTML 一起输出到用户端。 Cookies 是加密
11、(也可不加密)的小型数据,和 HTML 不同,它可以高速缓存在用户端浏览器中。 Session 是服务器端的状态保存机制,每个用户端均有独立的空间(以浏览器运行个体来赋与唯一的SessionID值)。 Application 是服务器端的状态保存机制,但应用程序所有的用户端共用同一份状态数据。状态管理在单一服务器上,可以储存在服务器的存储器中,但若是在大型网站中,使用许多的 Web 服务器来实行负载平衡(Load Balancing)处理时,会有状态储存在哪个位置的问题,因此需要有一个可以在每个 Web 服务器之间做状态储存的媒介,像是独立的服务器或是数据库等等。在 ASP. net 中支持了
12、四种状态储存的媒介:InProc:储存与 ASP. net 相同的运行进程中 (in-procedure state),适合单一服务器的状态储存。 StateServer:储存在 ASP. net 状态服务器 (state server) 中,适合跨服务器的状态储存,但因为它使用的通讯端口,因此在使用上需要注意防火墙的问题。 SQLServer:储存在独立的 SQL Server 数据库中,适合跨服务器的状态储存。 Custom:以自行实现的状态提供者 (state provider)。数据库管理系统数据库记录和文件的组织必须确保能对信息进行检索。早期的系统是顺序组织的(如:字母顺序、数字顺序
13、或时间顺序);直接访问存储设备的研制成功使得通过索引随机访问数据成为可能。用户检索数据库信息的主要方法是query(查询)。通常情况下,用户提供一个字符串,计算机在数据库中寻找相应的字符序列,并且给出字符串在何处出现。比如,用户必须能在任意给定时间快速处理内部数据。而且,大型企业和其它组织倾向于建立许多独立的文件,其中包含相互关联的甚至重叠的数据,这些数据、处理活动经常需要和其它文件的数据相连。为满足这些要求,开发邮各种不同类型的数据库管理系统,如:非结构化的数据库、层次型数据库、网络型数据库、关系型数据库、面向对象型数据库。在非结构化的数据库中,按照实体的一个简单列表组织记录;很多个人计算机
14、的简易数据库是非结构的。层次型数据库按树型组织记录,每一层的记录分解成更小的属性集。层次型数据库在不同层的记录集之间提供一个单一链接。与此不同,网络型数据库在不同记录集之间提供多个链接,这是通过设置指向其它记录集的链或指针来实现的。网络型数据库的速度及多样性使其在企业中得到广泛应用。当文件或记录间的关系不能用链表达时,使用关系型数据库。一个表或一个“关系”,就是一个简单的非结构列表。多个关系可通过数学关系提供所需信息。面向对象的数据库存储并处理更复杂的称为对象的数据结构,可组织成有层次的类,其中的每个类可以继承层次链中更高一级类的特性,这种数据库结构最灵活,最具适应性。很多数据库包含自然语言文
15、本信息,可由个人在家中使用。小型及稍大的数据库在商业领域中占有越来越重要的地位。典型的商业应用包括航班预订、产品管理、医院的医疗记录以及保险公司的合法记录。最大型的数据库通常用天政府部门、企业、大专院校等。这些数据库存有诸如摘要、报表、成文的法规、通讯录、报纸、杂志、百科全书、各式目录等资料。索引数据库包含参考书目或用于找到相关书籍、期刊及其它参考文献的索引。目前有上万种可公开访问的数据库,内容包罗万象,从法律、医学、工程到新闻、时事、游戏、分类广告、指南等。科学家、医生、律师、财经分析师、股票经纪人等专家和各类研究者越来越多地依赖这些数据库从大量的信息中做快速的查找访问。数据库管理系统的组织
16、技术顺序的、直接的以及其他的文件处理方式常用于单个文件中数据的组织和构造,而DBMS可综合几个文件的数据项以回答用户对信息的查询,这就意味着DBMS能够访问和检索非关键记录字段的数据,即DBMS能够将几个大文件夹中逻辑相关的数据组织并连接在一起。逻辑结构。确定这些逻辑关系是数据管理者的任务,由数据定义语言完成。DBMS在存储、访问和检索操作过程中可选用以下逻辑构造技术:链表结构。在该逻辑方式中,记录通过指针链接在一起。指针是记录集中的一个数据项,它指出另一个逻辑相关的记录的存储位置,例如,顾客主文件中的记录将包含每个顾客的姓名和地址,而且该文件中的每个记录都由一个账号标识。在记账期间,顾客可在
17、不同时间购买许多东西。公司保存一个发票文件以反映这下地交易,这种情况下可使用链表结构,以显示给定时间内未支付的发票。顾客文件中的每个记录都包含这样一个字段,该字段指向发票文件中该顾客的第一个发票的记录位置,该发票记录又依次与该顾客的下一个发票记录相连,此链接的最后一个发票记录由一个作为指针的特殊字符标识。层次(树型)结构。该逻辑方式中,数据单元的多级结构类似一棵“倒立”的树,该树的树根在顶部,而树枝向下延伸。在层次(树型)结构中存在主-从关系,惟一的根数据下是从属的元或节点,而每个元或树枝都只有一个所有者,这样,一个customer(顾客)拥有一个invoice(发票),而invoice(发票
18、)又有从属项。在树型结构中,树枝不能相连。网状结构。网状结构不像树型结构那样不允许树枝相连,它允许节点间多个方向连接,这样,每个节点都可能有几个所有者,中央电视台它又可能拥有任意多个其他数据单元。数据管理软件允许从文件的任一记录开始提取该结构中的所需信息。关系型结构。关系型结构由许多表格组成,数据则以“关系”的形式存储在这些表中。例如,可建立一些关系表,将大学课程同任课教师及上课地点连接起来。为了找到英语课的上课地点和教师名,首先查询课程/教师关系表得到名字(为“Fitt”),再查询课程/地点关系表得到地点(“Main 142”),当然,也可能有其他关系。这是一个相当新颖的数据库组织技术,将来
19、有望得到广泛应用。物理结构。人们总是为了各自的目的,按逻辑方式设想或组织数据。因此,在一个具体应用中,记录R1和R2是逻辑相连且顺序处理的,但是,在计算机系统中,这些在一个应用中逻辑相邻的记录,物理位置完全可能不在一起。记录在介质和硬件中的物理结构不仅取决于所采用的I/O设备、存储设备及输入输出和存取技术,而且还取决于用户定义的R1和R2中数据的逻辑关系。例如,R1和R2可能是持有信用卡的顾客记录,而顾客要求每两周将货物运送到同一个城市的同一个街区,而从运输部门的管理者看,R1和R2是按地理位置组织的运输记录的顺序项,但是在A/R应用中,可找到R1长表示的顾客,并且可根据其完全不同的账号处理他
20、们的账目。简言之,在许多计算机化的信息记录中,存储记录的物理位置用户是看不见的。ASP.net TechnologyA is based on 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
21、 mechanism, data interface treatment can seamlessly integrate into the 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
22、 with c # (c + + and Java combination), VB, Jscript, c + +, F+. In the 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 an
23、d c #, c # relatively common, because it is unique language, using the 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 authenti
24、cation, distribution system and website configuration became very simple. 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
25、and application Settings more simple. Because configuration information 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
26、 in a server system installation simply copy some must file, do not need 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 connec
27、tion technology, will greatly increase speed. Even if you now my application 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
28、 let web developers in their own code define your own plug - in module. 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,
29、 you can ensure that your original procedures are absolutely safe. A grammar 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 a
30、pplication gradually add function, at any time enhancement ASP application 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 com
31、patible with the languages (including Visual B, using c # and JS.) creation 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, inheri
32、t, etc. A can seamlessly with WYSIWYG HTML editor and other programming 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 control
33、s drag-and-drop Web page GUI and fully integrated debugging support. When 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 o
34、ften use of data, or for application configuration for custom. If you have 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
35、development experience (of course experienced better), but you must understand 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) nex
36、t version, and is a built in common language program structure that can 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 pag
37、e in the news dispatch. A page in the message handling. A original design 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 achie
38、ve this jop, use must use a large number of ancillary information, such 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 hid
39、den transfer Model. In when run, there are often web round-trip action (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 HTT
40、P POST requirement of data is null), it will ensure that controls events 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
41、we are to avoid this situation, must want to force the browser cache can 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 Applicati
42、on or e-commerce applications), but state management function may view 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 stat
43、e management is to apply object. Their cultures depends on: ViewState is 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 pres
44、ervation mechanism, each client all have independent space (in browsers 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,
45、 but if in the large-scale Web site, use a lot of Web server to implement 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 f
46、our state storage medium: InProc: storage and the same operation process (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 p
47、aid attention to the firewall problem. SQLServer: stored in separate SQL 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. Earl
48、y system were arranged sequentially (i.e., alphabetically, numerically, 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 t