与开发传统C/S架构的应用程序不同,Web应用程序(B/S架构)的开发会有如下这些难题:
1、实现多样式的Web用户界面B/S结构的客户端一般使用HTML来展现用户界面。而使用基本的HTML来设计和实现用户界面困难又费事,特别是用户界面有复杂布局且包含大量动态内容和功能齐全的用户交互对象时,用基本的HTML实现起来简直是难于上青天。
2、客户端与服务器的分离在Web应用程序中,客户端(Browser)和服务器是不同的程序,通常位于不同的计算机甚至不同的操作系统上运行。共同组成B/S系统的这两个部分仅共享很少的数据。客户端和服务器之间通讯时,通常只交换很小快的简单数据。
3、无状态运行当Web服务器接收到对某个网页的请求时,服务器会找到该页面,对其进行处理,将其发送到浏览器,然后在服务端释放该页面的信息。如果用户再次请求同一页面,服务器则会重复整个过程,从头开始对该页面进行重新处理。总之,服务器不会保留已处理的页面——页面是无状态的。因此,如果Web应用程序需要维护某页面的信息就成为了一个技术难题。
4、未知的客户端很多情况下,Web应用程序可供许多使用不同的浏览器的用户访问。不同的浏览器具有不同的功能,要创建同时支持所有这些不同浏览器的Web应用程序也成为了一个难题。
5、数据访问的复杂性在Web应用程序中,实现数据源的读取和写入非常复杂,并且会消耗大量的资源。
6、程序扩展方面的复杂性在许多情况下,由于应用程序的不同组件之间缺乏兼容性,导致用传统方法设计的Web应用程序未能实现可扩展性的目标。对于发展周期较短的应用程序,这一点很容易导致其失败。
那么ASP.NET框架提供什么机制来解决这些难题的呢?为了让基于ASP.NET框架来开发Web应用的开发人员能够很好的解决这些难题,ASP.NET框架提供了ASP.NET“页面”和“页框架”这两种机制:
1、直观一致的对象模型ASP.NET页框架提供了一种对象模型,使开发者能够将窗体当作一个整体,而不是分类的客户端和服务器模块。在此模型中,开发者可以通过比在传统Web应用程序中更为直观的方式来对网页进行编程,包括设置页面元素的属性和响应事件。另外,ASP.NET服务器控件是基于HTML页面的物理内容以及浏览器与服务器之间的直接交互的一种抽象模型。通常,开发者可以按照在C/S架构的客户端应用程序(如WinForm)中使用控件的方式使用服务器控件,而不用考虑如何编写HTML来显示和处理控件及其内容。
2、事件驱动的编程模型ASP.NET网页为Web应用程序带来了一种开发者很熟悉的模型,该模型用于为客户端或服务器上发生的事件编写事件处理程序。ASP.NET页框架对此模型进行了抽象,使捕获客户端上的事件、将其传输到服务器并调用适当方法等操作的机制都是自动的,并且对于开发者来说是透明的,这样就为开发者提供了一个清晰的、易于编写的、支持事件驱动开发的代码结构。
3、直观的状态管理ASP.NET页面框架会自动处理页面及其控件的状态维护任务,使开发着能够以显式方式维护应用程序特定信息的状态。这种状态管理无需使用大量服务资源即可实现,而且可以通过向浏览器发送Cookie来实现。
4、独立于浏览器的应用程序ASP.NET页框架允许开发者在服务器上创建所有应用程序逻辑,而无需针对浏览器之间的差异进行特定编码。但是,它也可以让开发者利用浏览器的特有的功能,方法是通过编写客户端代码来丰富客户端的体验。
5、.NET Framework公共语言运行库支持ASP.NET页面框架是在.NET
Framework的基础上生成的,因此整个框架可用于任何ASP.NET应用程序。可以使用任何.NET平台支持的语言来开发ASP.NET应用程序。同时ADO.NET也使数据访问更为容易实现。
6、.NET Frameworkk可缩放服务器性能ASP.NET页面框架使开发者能够将Web应用程序从一台只装有一个处理器的计算机有效的扩展到多计算机的“网络场”(Web farm),而无需对应用程序的逻辑进行复杂的更改。
Word教程网 | Excel教程网 | Dreamweaver教程网 | Fireworks教程网 | PPT教程网 | FLASH教程网 | PS教程网 |
HTML教程网 | DIV CSS教程网 | FLASH AS教程网 | ACCESS教程网 | SQL SERVER教程网 | C语言教程网 | JAVASCRIPT教程网 |
ASP教程网 | ASP.NET教程网 | CorelDraw教程网 |