1.4.1.1 ASP.NET的特性
首先,也是最重要的,ASP.NET页面是结构化的。这就是说,每一个页面都是一个继承自.NET System.Web.UI.Page的有效类,而且你可以重写一些方法,这些方法会在整个页面的生存其中调用(你可以认为这些方法就像原来在ASP下的global.asa里的OnApplication_Start 和 OnSession_Start事件差不多)。因为你可以直接将页面的功能直接放在事件处理程序中实现,ASP.NET页面很容易理解。
ASP.NET页面的另一个优点是你可以用Visual Studio .NET创建它,你也可以用同样的开发环境创建ASP.NET页面所用到的商业逻辑和数据访问组件。一个Visual Studio .NET项目或者解决方案包含一个应用程序相关联的所有文件。而且,你还可以在这个编辑器里调试你的ASP页面,这可比原来的Visual InterDev要好得多。配置InterDev和工程的Web服务器以令他们支持调试是一件令人头痛的事情。
最清楚的是,ASP.NET的后置代码特性可以使你更进一步的结构化你的方法。ASP.NET允许你将服务器端的功能于页面代码隔离开来,单独放到一个类中,这个类会被编译成DLL文件,并且这个DLL会被放置在HTML部分的下级目录中。在页面的顶不会有一个后置代码的指示将文件和它的DLL连接起来。当游览器请求一个页面的时候,Web服务器就会再页面的后置代码所产生的DLL文件中引发类中的相应事件。
最后,但是也很重要,ASP.NET带来的性能增加是显著的。相比较经典的ASP页面都是解释性相应每个请求而言,Web服务器缓存的是经过编译后的ASP.NET页面。这意味着以后对于ASP.NET页面的请求执行起来就会比以前快得多。
ASP.NET同样也使编写基于游览器的窗体变得简单,这些窗体你可以在企业内网中使用。传统的基于窗体的应用程序提供一个功能丰富的用户界面(富客户端),但是因为这些用户界面程序运行在不同的机器上,所以很难去维护它们。正因为这个原因,当人们既需要一个功能强大的用户界面又需要为用户提供广泛的支持的时候,人们就会依靠基于窗体的应用程序。
但是,随着IE5的到来和Navigator 6的没落,基于窗体的应用程序的优点越来越不明显。IE 5对DHTML一致并且全面的健全的支持,允许程序员创建同原来富客户端环境完全相同的基于Web的应用程序。当然,这样的应用程序在IE是必要的并且标准的,但是Navigator却不支持。在许多工业情况中,标准化现在是正常的。
1.4.1.2 Web Forms
为了使建立Web页面更加容易,Visual Studio .NET提供了Web Forms。它们允许你用像创建Visual Basic 6 或者 C++ Builder窗口的方式图形化的建立ASP.NET页面,通过那种拖动一个toolbox空间放到窗体中的方式,相应的代码就会出现在窗体中,最后你只需要为每个空间的事件编写程序就可以了。当你用C#创建Web窗体的时候,你实际上是在创建一个继承自Page基类的C#类,并且某个ASP.NET页面指定此类是其后置代码。当然,你创建Web窗体不必非采用C#,你也可以使用Visual Basic .NET或者其他的.NET语言都无妨。
在过去,开发Web应用程序的困难使得很多团队都不喜欢开发Web应用程序。如果你想要成功开发Web应用程序,你就必须掌握很多不同的技术,比如VBScript, ASP, DHTML, JavaScript等等。通过将窗体的概念应用于Web页面,Web使得Web开发变得相当的简单。
Web 控件
在Web窗体使用的控件与ActiveX控件不同。它们是ASP.NET命名空间中的一些XML标签,在请求一个页面时,Web游览器动态的将其转换为HTML和客户端脚本。令人惊奇的是,Web服务器可以有好几种方法执行服务器端的控件,根据请求着的游览器的不同而做出相应的转化。这就意味着现在为Web页面编写通用的用户界面是非常简单的,而不用担心你的页面将会运行在什么样的游览器上,因为Web替你考虑这一切。
你可以使用C# 或者 Visual Basic .NET来扩充你的Web窗体工具箱。建立一个新的服务器端控件事非常简单的事情,实现.NET的System.Web.UI.WebControls.WebControl类就可以了。
1.4.1.3 XML Web服务
今天,HTML页面占据了World Wide Web的大多数应用。但是,通过XML计算机有了一种独立于设备的在Web上相互通信的方式。将来,计算机可以利用Web 和 XML来交换信息而不是采用专用线路和专有的格式,例如Electronic Data Interchange (EDI)。XML Web服务是为面向服务Web而设计的,在最终显示给用户之前,远程计算机可以互相提供动态的信息并且分析和重新格式化已提供给用户。XML Web服务以XML的形式提供了一种计算机之间互相提供信息的简便方法。
在技术上说,.NET上的XML Web服务就是一种返回XML而不是HTML给客户端的ASP.NET页面。这样的页面饱含一个派生自Web Service类的后置代码的DLL。Visual Studio .NET IDE提供了一个简化Web服务开发的引擎。
一个组织主要有两个理由采用XML Web服务。第一个原因是XML Web服务是依赖于HTTP的,XML Web服务可以利用现有的网络来作为信息传输的媒介。另一个原因是XML Web服务所使用的数据格式XML是自我描述的、非专用的、平台独立性的。
1.4.2 创建Windows Forms
尽管C# 和 .NET非常适合开发Web开发,但是他们仍然为开发所谓的胖客户端或者富客户端应用程序提供了良好支持,这些程序都必须被安装到最终用户的机器上并且在那里执行。这些功能都是由Windows Forms提供的。