Visual Studio .NET 是一套完整的开发工具,用于生成 ASP Web 应用程序、XML Web services、桌面应用程序和移动应用程序。Visual Basic .NET、Visual C++ .NET、Visual C# .NET 和 Visual J# .NET 全都使用相同的集成开发环境 (IDE),该环境允许它们共享工具并有助于创建混合语言解决方案。另外,这些语言利用了 .NET Framework 的功能,此框架提供对简化 ASP Web 应用程序和 XML Web services 开发的关键技术的访问。
1.1Visual Studio .NET 的特色
本节包含有关此 Visual Studio 版本中的一些最新工具和技术的信息。
Visual J#
Visual J# 是一种开发工具,供熟悉 Java 语言语法的开发人员在 .NET Framework 上生成应用程序和服务时使用。该工具将 Java 语言语法集成到 Visual Studio .NET 集成开发环境 (IDE) 中。Visual J# 还支持 Visual J++ 6.0 中具有的大多数功能,包括 Microsoft 扩展。Visual J# 不是一种用于开发在 Java 虚拟机上运行的应用程序的工具。使用 Visual J# 生成的应用程序和服务只在 .NET Framework 上运行。Visual J# 由 Microsoft 独立开发。它没有经过 Sun Microsystems, Inc. 的认可和批准。
智能设备应用程序
Visual Studio .NET 集成开发环境现在包括开发智能设备(如 Pocket PC)应用程序的工具。通过使用这些工具和 .NET Framework 精简版(.NET Framework 的子集),您可以在个人数字助理 (PDA)、移动电话和其他资源受约束的设备中,创建、生成、调试和部署在 .NET Framework 精简版上运行的应用程序。
ASP.NET 移动设计器
ASP.NET 移动设计器扩展了 ASP.NET 和 .NET Framework,可用来生成移动电话、PDA 和寻呼机的 Web 应用程序。此设计器集成在 Visual Studio IDE 中。您可以创建移动 Web 应用程序,使用移动设计器修改移动 Web 窗体,然后生成和运行该应用程序(所有这些操作都是在 Visual Studio 中完成的)。
Web 窗体
Web 窗体是用于创建可编程 Web 页的 ASP.NET 技术。Web 窗体将自己呈现为浏览器兼容的 HTML 和脚本,这使任何平台上的任何浏览器都可以查看 Web 页。使用 Web 窗体,通过将控件拖放到设计器上然后添加代码来创建 Web 页,与创建 Visual Basic 窗体的方法相似。
Windows 窗体
Windows 窗体是用于 Microsoft Windows 应用程序开发的、基于 .NET Framework 的新平台。此框架提供一个有条理的、面向对象的、可扩展的类集,使您能够开发功能丰富的 Windows 应用程序。另外,Windows 窗体可作为多层分布式解决方案中的本地用户界面。
XML Web Services
XML Web services 是可以通过 HTTP 使用 XML 接收请求和数据的应用程序。XML Web services 不受特定组件技术或对象调用约定的制约,因此可由任何语言、组件模型或操作系统访问。在 Visual Studio .NET 中,可以使用 Visual Basic、Visual C#、JScript、C++ 的托管扩展或 ATL Server 快速创建和包含 XML Web services。
XML 支持
可扩展标记语言 (XML) 提供描述结构数据的方法。XML 是 SGML 的子集,非常适合在 Web 上传送。万维网联合会 (W3C) 定义了 XML 标准以使结构化数据保持统一并独立于应用程序。Visual Studio .NET 完全支持 XML,提供了 XML 设计器以使编辑 XML 和创建 XML 架构更容易。
1.2.NET Framework
.NET Framework 是用于生成、部署和运行 XML Web services 和应用程序的多语言环境。它由三个主要部分组成:
公共语言运行库 运行库实际上在组件的运行时和开发时操作中都起到很大的作用,尽管名称中没有体现这个意思。在组件运行时,运行库除了负责满足此组件在其他组件上可能具有的依赖项外,还负责管理内存分配、启动和停止线程和进程,以及强制执行安全策略。在开发时,运行库的作用稍有变化;由于做了大量的自动处理工作(如内存管理),运行库使开发人员的操作非常简单,尤其是与今天的 COM 相比。特别是反射等功能显著减少了开发人员为将业务逻辑转变为可重用组件而必须编写的代码量。
统一编程类 该框架为开发人员提供了统一的、面向对象的、分层的和可扩展的类库集 (API)。目前,C++ 开发人员使用 Microsoft 基础类,而 Java 开发人员使用 Windows 基础类。框架统一了这些完全不同的模型并且为 Visual Basic 和 JScript 程序员同样提供了对类库的访问。通过创建跨所有编程语言的公共 API 集,公共语言运行库使得跨语言继承、错误处理和调试成为可能。从 JScript 到 C++ 的所有编程语言具有对框架的相似访问,开发人员可以自由选择它们要使用的语言。
ASP.NET ASP.NET 建立在 .NET Framework 的编程类之上,它提供了一个 Web 应用程序模型,并且包含使生成 ASP Web 应用程序变得简单的控件集和结构。ASP.NET 包含封装公共 HTML 用户界面元素(如文本框和下拉菜单)的控件集。但这些控件在 Web 服务器上运行,并以 HTML 的形式将它们的用户界面推送到浏览器。在服务器上,这些控件公开一个面向对象的编程模型,为 Web 开发人员提供了面向对象的编程的丰富性。ASP.NET 还提供结构服务(如会话状态管理和进程回收),进一步减少了开发人员必须编写的代码量并提高了应用程序的可靠性。另外,ASP.NET 使用这些同样的概念使开发人员能够以服务的形式交付软件。使用 XML Web services 功能,ASP.NET 开发人员可以编写自己的业务逻辑并使用 ASP.NET 结构通过 SOAP 交付该服务。
2 ASP.NET 技术背景介绍
Web 窗体页是用 ASP.NET 技术生成的。ASP.NET 是一种统一的 Web 平台,它提供了生成企业级应用程序所必需的全部服务。
ASP.NET 又是基于 .NET Framework 生成的,因此整个框架都可用于任何 ASP.NET 应用程序。您可以使用任何与公共语言运行库兼容的语言(包括 Microsoft Visual Basic、Visual C# 和 JScript .NET)来创作应用程序。以下将概述 ASP.NET 提供的功能。
ASP.NET 页框架和 Web 窗体页
ASP.NET 页框架是一种编程框架,它在 Web 服务器上运行以动态地生成和管理 Web 窗体页。在 Visual Studio 中,Web 窗体提供了窗体设计器、编辑器、控件和调试功能,这些功能结合在一起,将使您能够为浏览器和 Web 客户端设备快速地生成基于服务器的可编程用户界面。
Web 窗体页在任何浏览器或客户端设备上运行。但是,您可以将 Web 窗体页设计为以特定的浏览器(如 Microsoft® Internet Explorer 5)为目标,并利用特定浏览器或客户端设备的功能。ASP.NET 支持基于 Web 的设备(如移动电话、手持型计算机和个人数字助理 (PDA))的移动控件。
ASP.NET 页框架创建了传统客户端/服务器 Web 交互的抽象模型,使您能够使用支持快速应用程序开发 (RAD) 和面向对象编程 (OOP) 的传统方法和工具来进行应用程序编程。
在 Web 窗体页中,可以使用属性、方法和事件来处理 HTML 元素。ASP.NET 页框架为响应在服务器上运行的代码中的客户端事件提供统一的模型,从而使您不必考虑基于 Web 的应用程序中固有的客户端和服务器隔离的实现细节。该框架还会在页处理生命周期中自动维护页及该页上控件的状态。
ASP.NET 页框架和 Web 窗体页还支持服务器控件,这些控件将常见的 UI 功能封装在易于使用并且可再次使用的控件中。
ASP.NET 支持 XML Web services。XML Web services 是包含通过 Internet 协议公开的业务功能的组件。利用 XML Web services,应用程序可以使用 HTTP 和 XML 消息等标准在基于 Web 的应用程序之间交换信息,从而跨越防火墙移动数据。XML Web services 不受特定的组件技术或对象调用约定的约束。这样,用任何语言编写的、使用任何组件模型和在任何操作系统上运行的程序都能够访问 XML Web services。
状态管理功能
ASP.NET 提供了内部状态管理功能,它使您能够保存和管理应用程序特定、会话特定和开发人员定义的信息。此信息可以独立于页上的任何控件。它可以在页间共享,如客户信息或购物车的内容。
ASP.NET 提供了分布式状态功能。您可以在一台计算机或几台计算机上创建同一应用程序的多个实例。
应用程序事件
ASP.NET 使您能够在可选的 global.asax 文件中包含应用程序级别的事件处理代码。您可以使用应用程序事件来管理应用程序范围的信息,并按顺序执行应用程序启动和清理任务。
编译
所有 ASP.NET 代码(包括服务器脚本)都经过了编译,可提供强类型、性能优化和早期绑定以及其他优点。代码一旦经过编译,运行库会进一步将 ASP.NET 编译为本机代码,从而提供增强的性能。
注意 Web 窗体页、XML Web services 和组件都会被编译成动态链接库 (.dll) 文件。一旦经过编译,这些文件将无需在运行它们的 Web 服务器上注册。
配置
ASP.NET 配置设置存储在基于 XML 的文件中。由于这些 XML 文件是 ASCII 文本文件,您可以读取和修改这些文件,因此对 Web 应用程序进行配置更改比较简单。每个应用程序都可以有它自己的配置文件,您可以扩展配置方案,使其符合自己的要求。
部署
Visual Studio 为向本地或远程服务器部署应用程序提供了一种简化的机制。只需将文件复制到指定的应用程序目录或者使用更为专门化的可配置部署项目,即可安装这些文件。
安全性
ASP.NET 应用程序在运行时,会以有限的权限在名为 ASPNET 的 Web 服务器上的特殊本地用户的上下文中执行。这样就限制了它对 Windows 资源和进程的访问,从而增强了 Web 应用程序代码的安全性。
ASP.NET 还为 Web 应用程序提供了各种授权和身份验证方案。您可以根据应用程序的需要方便地移除、添加或替换这些方案。
调试支持
ASP.NET 利用运行库调试基础结构来提供在本地或从 Web 服务器远程使用的跨语言和跨计算机调试支持。此外,ASP.NET 页框架提供使您可以将检测消息插入窗体的跟踪模式。
可以调试托管和非托管对象,以及公共语言运行库和脚本语言支持的所有语言。
优化
ASP.NET 包括多种功能和工具,它们使您能够设计和实现高性能的 Web 应用程序。这些功能包括:
基于 ASP 进行改进的进程模型。
自动编译请求的页并在服务器上存储这些页。
ASP.NET 特定的性能计数器。
Web 应用程序测试工具。
性能计数器支持
性能计数器是 Windows 收集不同系统资源上性能数据的机制。ASP.NET 支持两组可供应用程序访问的性能计数器:
ASP.NET 系统性能计数器组。
ASP.NET 应用程序性能计数器组。
ASP.NET 系统组可以通过 ASP.NET 系统性能计数器对象下的性能监视器应用程序 (PerfMon.exe) 来访问,而 ASP.NET 应用程序组则可以通过 ASP.NET 应用程序性能计数器对象来访问。ASP.NET 还支持创建自定义的性能计数器。
附录A 外文翻译-原文部分
1.Introducing Visual Studio .NET
Visual Studio .NET is a complete set of development tools for building ASP Web applications, XML Web services, desktop applications, and mobile applications. Visual Basic .NET, Visual C++ .NET, Visual C# .NET, and Visual J# .NET all use the same integrated development environment (IDE), which allows them to share tools and facilitates in the creation of mixed-language solutions. In addition, these languages leverage the functionality of the .NET Framework, which provides access to key technologies that simplify the development of ASP Web applications and XML Web services.
1.1 Visual Studio .NET Highlights
This section contains information about some of the latest tools and technologies available in this release of Visual Studio.
Visual J#
Visual J# is a development tool that developers who are familiar with the Java-language syntax can use to build applications and services on the .NET Framework. It integrates the Java-language syntax into the Visual Studio .NET integrated development environment (IDE). Visual J# also supports most of the functionality found in Visual J++ 6.0, including Microsoft Extensions. Visual J# is not a tool for developing applications intended to run on a Java Virtual Machine. Applications and services built with Visual J# will run only in the .NET Framework. Visual J# has been independently developed by Microsoft. It is not endorsed or approved by Sun Microsystems, Inc.
Smart Device Applications
The Visual Studio .NET integrated development environment now includes tools for developing applications for smart devices, such as the Pocket PC. Using the tools and the .NET Compact Framework, a subset of the .NET Framework, you can create, build, debug, and deploy applications that run on the .NET Compact Framework in personal digital assistants (PDAs), mobile phones, and other resource-constrained devices.
ASP.NET Mobile Designer
ASP.NET Mobile Designer extends ASP.NET and the .NET Framework, allowing you to build Web applications for mobile phones, PDAs, and pagers. This designer is integrated into the Visual Studio IDE. You can create mobile Web applications, use the Mobile Designer to modify a mobile Web form, and then build and run the application, all from within Visual Studio.
Web Forms
Web Forms are an ASP.NET technology that you use to create programmable Web pages. Web Forms render themselves as browser-compatible HTML and script, which allows any browser on any platform to view the pages. Using Web Forms, you create Web pages by dragging and dropping controls onto the designer and then adding code, similar to the way that you create Visual Basic forms.
Windows Forms
Windows Forms is the new platform for Microsoft Windows application development, based on the .NET Framework. This framework provides a clear, object-oriented, extensible set of classes that enables you to develop rich Windows applications. Additionally, Windows Forms can act as the local user interface in a multi-tier distributed solution.
XML Web Services
XML Web services are applications that can receive requests and data using XML over HTTP. XML Web services are not tied to a particular component technology or object-calling convention and can therefore be accessed by any language, component model, or operating system. In Visual Studio .NET, you can quickly create and include XML Web services using Visual Basic, Visual C#, JScript, Managed Extensions for C++, or ATL Server.
XML Support
Extensible Markup Language (XML) provides a method for describing structured data. XML is a subset of SGML that is optimized for delivery over the Web. The World Wide Web Consortium (W3C) defines XML standards so that structured data will be uniform and independent of applications. Visual Studio .NET fully supports XML, providing the XML Designer to make it easier to edit XML and create XML schemas.
1.2 The .NET Framework
The .NET Framework is a multi-language environment for building, deploying, and running XML Web services and applications. It consists of three main parts:
Common Language Runtime Despite its name, the runtime actually has a role in both a component's runtime and development time experiences. While the component is running, the runtime is responsible for managing memory allocation, starting up and stopping threads and processes, and enforcing security policy, as well as satisfying any dependencies that the component might have on other components. At development time, the runtime's role changes slightly; because it automates so much (for example, memory management), the runtime makes the developer's experience very simple, especially when compared to COM as it is today. In particular, features such as reflection dramatically reduce the amount of code a developer must write in order to turn business logic into a reusable component.
Unified programming classes The framework provides developers with a unified, object-oriented, hierarchical, and extensible set of class libraries (APIs). Currently, C++ developers use the Microsoft Foundation Classes and Java developers use the Windows Foundation Classes. The framework unifies these disparate models and give Visual Basic and JScript programmers access to class libraries as well. By creating a common set of APIs across all programming languages, the common language runtime enables cross-language inheritance, error handling, and debugging. All programming languages, from JScript to C++, have similar access to the framework and developers are free to choose the language that they want to use.
ASP.NET ASP.NET builds on the programming classes of the .NET Framework, providing a Web application model with a set of controls and infrastructure that make it simple to build ASP Web applications. ASP.NET includes a set of controls that encapsulate common HTML user interface elements, such as text boxes and drop-down menus. These controls run on the Web server, however, and push their user interface as HTML to the browser. On the server, the controls expose an object-oriented programming model that brings the richness of object-oriented programming to the Web developer. ASP.NET also provides infrastructure services, such as session state management and process recycling, that further reduce the amount of code a developer must write and increase application reliability. In addition, ASP.NET uses these same concepts to enable developers to deliver software as a service. Using XML Web services features, ASP.NET developers can write their business logic and use the ASP.NET infrastructure to deliver that service via SOAP.
2 ASP.NET Technology Backgrounder
Web Forms pages are built with ASP.NET technology. ASP.NET is a unified Web platform that provides all the services necessary for you to build enterprise-class applications.
ASP.NET, in turn, is built on the .NET Framework, so the entire framework is available to any ASP.NET application. Your applications can be authored in any language compatible with the common language runtime, including Microsoft Visual Basic, Visual C#, and JScript .NET. The following sections provide an overview of the features offered by ASP.NET.
ASP.NET Page Framework and the Web Forms Page
The ASP.NET page framework is a programming framework that runs on a Web server to dynamically produce and manage Web Forms pages. In Visual Studio, Web Forms provides a forms designer, editor, controls, and debugging, which together allow you to rapidly build server-based, programmable user interfaces for browsers and Web client devices.
Web Forms pages run on any browser or client device. However, you can design your Web Forms page to target a specific browser, such as Microsoft® Internet Explorer 5, and take advantage of the features of a specific browser or client device. ASP.NET supports mobile controls for Web-enabled devices such as cellular phones, handheld computers, and personal digital assistants (PDAs).
The ASP.NET page framework creates an abstraction of the traditional client-server Web interaction so that you can program your application using traditional methods and tools that support rapid application development (RAD) and object-oriented programming (OOP).
Within Web Forms pages you can work with HTML elements using properties, methods, and events. The ASP.NET page framework removes the implementation details of the separation of client and server inherent in Web-based applications by presenting a unified model for responding to client events in code that runs at the server. The framework also automatically maintains the state of a page and the controls on that page during the page processing life cycle.
The ASP.NET page framework and Web Forms pages also support server controls that encapsulate common UI functionality in easy-to-use, reusable controls.