1、附录 1 Beginning ASP.NET 2.0 in C# ASP (Active Server Pages) is a relatively new technology thats already leapt through several stages of evolution. It was introduced about seven years ago as an easy way to add dynamic content to ordinary web pages. Since then, its grown into something much more ambit
2、ious: a platform for creating advanced web applications, including e-commerce shops, data-driven portal sites, and just about anything else you can find on the Internet.ASP.NET 2.0 is the latest version of ASP, and it represents the most dramatic change yet. With ASP.NET, developers no longer need t
3、o paste together a jumble of HTML and script code in order to program the Web. Instead, you can create full-scale web applications using nothing but code and a design tool such as Visual Studio 2005. The cost of all this innovation is the learning curve. Not only do you need to learn how to use an a
4、dvanced design tool (Visual Studio) and a toolkit of objects (the .NET Framework), you also need to master a programming language such as C#.The Internet began in the late 1960s as an experiment. Its goal was to create a truly resilient information networkone that could withstand the loss of several
5、 computers without preventing the others from communicating. Driven by potential disaster scenarios (such as nuclear attack), the U.S. Department of Defense provided the initial funding. The early Internet was mostly limited to educational institutions and defense contractors. It flourished as a too
6、l for academic collaboration, allowing researchers across the globe to share information. In the early 1990s, modems were created that could work over existing phone lines, and the Internet began to open up to commercial users. In 1993, the first HTML browser was created, and the Internet revolution
7、 began. It would be difficult to describe early websites as web applications. Instead, the first generation of websites often looked more like brochures, consisting mostly of fixed HTML pages that needed to be updated by hand. Basic HTML page is a little like a word-processing documentit contains fo
8、rmatted content that can be displayed on your computer, but it doesnt actually do anything. The following example shows HTML at its simplest, with a document that contains a heading and single line of text: An HTML document has two types of content: the text and the tags that tell the browser how to
9、 format it. The tags are easily recognizable, because they occur inside angled brackets (). HTML defines tags for different levels of headings, paragraphs, hyperlinks, italic and bold formatting, horizontal lines, and so on. For example, Some Text tells the browser to display Some Text in the Headin
10、g 1 style, which uses a large, bold font. Figure 1-1 shows the simple HTML page in a browser.HTML 2.0 introduced the first seed of web programming with a technology called HTML forms. HTML forms expand HTML so that it includes not only formatting tags but also tags for graphical widgets, or controls
11、. These controls include common ingredients such as drop-down lists, text boxes, and buttons. Heres a sample web page created with HTML form controls:HTML forms allow web application developers to design standard input pages. When the user clicks the Submit button on the page shown in Figure 1-2, al
12、l the data in the input controls (in this case, the two check boxes) is patched together into one long string and sent to the web server. On the server side, a custom application receives and processes the data. Amazingly enough, the controls that were created for HTML forms more than ten years ago
13、are still the basic foundation that youll use to build dynamic ASP.NET pages! The difference is the type of application that runs on the server side. In the past, when the user clicked a button on a form page, the information might have been e-mailed to a set account or sent to an application on the
14、 server that used the challenging CGI (Common Gateway Interface) standard. Today, youll work with the much more capable and elegant ASP.NET platform. To understand why ASP.NET was created, it helps to understand the problems of other web development technologies. With the original CGI standard, for
15、example, the web server must launch a completely separate instance of the application for each web request. If the website is popular, the web server must struggle under the weight of hundreds of separate copies of the application, eventually becoming a victim of its own successor counter this probl
16、em, Microsoft developed ISAPI (Internet Server Application Programming Interface), a higher-level programming model. ISAPI solved the performance problem but at the cost of significant complexity. Even after ISAPI developers master the tricky C+ programming language, they still lie awake at night wo
17、rrying about confounding issues such as multithreading. ISAPI programming is definitely not for the fainthearted. SAPI never really went away. Instead, Microsoft used it to build higher-level develop-mint platforms, such as ASP and ASP.NET. Both of these technologies allow developers to program dyna
18、mic web pages without worrying about the low-level implementation details. For that reason, both platforms have become incredibly successful. The original ASP platform garnered a huge audience of nearly one million developers. When ASP.NET was first released, it generated even more interest as the c
19、enterpiece of the .NET Frame-work. In fact, ASP.NET 1.0 was enthusiastically put to work in dozens of large-scale commercial websites even when it was only in late beta. Despite having similar underpinnings, ASP and ASP.NET are radically different. ASP is a script-based programming language that req
20、uires a thorough understanding of HTML and a good deal of painful coding. ASP.NET, on the other hand, is an object-oriented pro-gamming model that lets you put together a web page as easily as you would build a Windows application. In many respects, its easier to learn ASP.NET than to master ASP, ev
21、en though ASP.NET is far more powerful. At the same time that server-side web development was moving through an alphabet soup of technologies, a new type of programming was gaining popularity. Developers began to experiment with the different ways they could enhance web pages by embed-ding multimedi
22、a and miniature applets built with JavaScript, DHTML (Dynamic HTML), and Java code. These client-side technologies dont involve any server processing. Instead, the complete application is downloaded to the client browser, which executes it locally. The greatest problem with client-side technologies
23、is that they arent supported equally by all browsers and operating systems. One of the reasons that web development is so popular in the first place is because web applications dont require setup CDs, down-loads, and other tedious (and error-prone) deployment steps. Instead, a web application can be
24、 used on any computer that has Internet access. But when developers use client-side technologies, they encounter a few familiar headaches. Suddenly, cross-browser compatibility becomes a problem. Developers are forced to test their websites with differ-net operating systems and browsers, and they mi
25、ght even need to distribute browser updates to their clients. In other words, the client-side model sacrifices some of the most important benefits of web development. or that reason, ASP.NET is designed as a server-side technology. All ASP.NET code executes on the server. When the code is finished e
26、xecuting, the user receives an ordinary HTML page, which can be viewed in any browser. Figure 1-3 shows the difference between the server-side and client-side model. These are some other reasons for avoiding client-side programming: Isolation: Client-side code cant access server-side resources. For
27、example, a client-side application has no easy way to read a file or interact with a database on the server (at least not without running into problems with security and browser compatibility).Security: End users can view client-side code. And once malicious users understand how an application works
28、, they can often tamper with it. me cases, ASP.NET allows you to combine the best of client-side programming with server-side programming. For example, the best ASP.NET controls can intelligently detect the features of the client browser. If the browser supports JavaScript, these controls will retur
29、n a web page that incorporates JavaScript for a richer, more responsive user interface. However, no matter what the capabilities of the browser, your code is always executed on the server. State limitations: To ensure optimum performance, the Web is built on stateless protocols, which means as soon
30、as a page is sent to a user, the connection is closed and any user-specific information is discarded. ASP includes a session state feature that allows programmers to work around this problem. Using session state, a web application can retain temporary information about each client in server memory.
31、However, session state is useless in scenarios where a website is hosted by several separate web servers. In this scenario, a client might access server B while its session information is trapped on server A and essentially abandoned. ASP.NET corrects this problem by allowing state to be stored in a
32、 central repository, such as a separate process or a database that all servers can access.ASP.NET deals with these problems (and many more) by introducing a completely new model for web pages. This model is based on a remarkable piece of technology called the NET Framework. You should understand tha
33、t the .NET Framework is really a cluster of several technologies: The .NET languages: These include C# and VB .NET (Visual Basic .NET), the object-oriented and modernized successor to Visual Basic 6.0; these languages also include Script .NET (a server-side version of JavaScript), J# (a Java clone),
34、 and C+ with Managed Extensions. he CLR (Common Language Runtime): The CLR is the engine that executes all .NET programs and provides automatic services for these applications, such as security checking, memory management, and optimization. The .NET Framework class library: The class library collects thousands of pieces of rebuilt functionality that you can “snap in” to your applications. These features are sometimes organized into technology sets, such as ADO.NET (the technology for creating database applications) and Windows Forms (the technology for creating