ASP.NET3.5——第一章ASP.NET介绍

简介:
第一章   ASP.NET介绍

当微软创建.NET,它不仅仅梦想未来——它还担忧当代web开发技术的困惑和限制。在你开始ASP.NET3.5以前,本书帮你回顾这些问题,你将明白.NET提供的解决方案。
         本章你将通过web开发的历史开始认识ASP.NET,做一次旋风般的.NET重要特性之旅,并且预览ASP.NET3.5的核心变化。如果你是第一次接触ASP.NET,本章将使你加快速度。相反,如果你已有.NET开发经验,那么你有两个选择。首先你可以快速阅读本文。否则,你可以跳到“ASP.NET3.5:传说在延续”去预览ASP.NET3.5
 
ASP.NET 3.5:传说在延续

当微软发布ASP.NET 1.0时,甚至没有期望这项技术被多门狂热的采用。ASP.NET很快变成用微软技术开发web应用的标准,沉重打击了其他web开发平台的竞争者。从那时起,ASP.NET有了一个修正版(ASP.NET1.1)和两个更重要的版本(ASP.NET2.0ASP.NET3.5
 
ASP.NET3.5

第一次面对ASP.NET3.5的开发人员不免要问其与ASP.NET3.0的不同。说来也怪,ASP.NET3.0是不存在的。微软使用.NET Framework 3.0来发布新技术——最特别的,WPFWindows Communication Foundation),一种用来创建面向消息服务的技术,WFWindows Workflow Foundation),一种允许你将复杂业务处理模拟成一系列动作的技术。然而,.NET Framework 3.0不包括新版本的CLRASP.NET。相反,下一版的ASP.NET被集成到.NET Framework 3.5中。
 
LINQ

LINQLanguage Integrated Query)是一套C#VB语言的扩展。它使你用C#VB操纵内存数据,几乎和操作数据库一样。
         从技术上讲,LINQ定义了大约40个查询操作符,比如selectfrominwhereorderby等。这些操作符能使你编码查询。然而,数据有很多类别,对不同类型数据的查询有各自的LINQ形式。
         最基本的LINQ形式是LINQ to Objects:可以用来从对象集合执行查询得到某些对象的细节。LINQ to Objects不是ASP.NET特有的。换句话说,你可以像在其他类型.NET应用一样在web页面中使用它。
         接下来是LINQ to DataSetLINQ to XML。前者它提供类似于访问内存中DataSet对象,后者操作XML数据。第三方开发人员和工具开发商肯定开发了更多LINQ供应器。不过,LINQ的形式最关注LINQ to SQL,使你用LINQ语句对SQL Server数据库执行查询。本质上,LINQ to SQL基于你的代码创建一个完全参数化SQL查询,在你访问查询结果时执行这些查询。你不需要写任何数据访问代码或使用传统的ADO.NET对象。
         LINQ to ObjectsLINQ to DataSetLINQ to XMLASP.NET的补充特性,不与其以任何方式集成。不过,ASP.NET支持LINQ to SQL——一个数据源控件,可以通过LINQ to SQL执行查询,且将结果绑定到web控件,不需要额外代码。你可以在第13章学习到LINQ to ObjectsLINQ to DataSetLINQ to SQL,在第14章学习LINQ to XML
 
ASP.NET AJAX

最近,web开发人员重新重视web应用的一些弱点。最明显的是在服务器端编程平台下响应缺乏的问题,比如ASP.NET。因为ASP.NET所有的工作都在web服务器上,每次页面动作发生,浏览器需要提交数据到服务器,得到新版页面,并且刷新显示。这个过程再快也会有明显的闪烁。并且这样这比较浪费时间,导致其不适合在频发事件中使用,比如鼠标移动和键盘敲击。
         web开发人员力图使用JavaScript,一种广泛应用的客户端脚本语言,来解决这些问题。在ASP.NET中,许多强大控件使用到了JavaScript,比如Menu控件,当用户移动鼠标到副标题时立刻能响应。当你使用Menu控件,你的页面不回传到服务器除非用户点击某一条目。
         在传统ASP.NET页面,开发人员使用服务器控件比如Menu得到客户端脚本的好处。不过,计时高级控件,回发是不可避免的。比如,如果你需要更新页面的部分信息,在普通ASP.NET中唯一的方式就是发送页面到服务器得到全新的HTML文档。这个方法可行但是不尽如人意。
         进取的web开发人员迎接挑战,应用更多的客户端代码和更高级的方式。其中最脍炙人口就是AjaxAsynchronous JavaScript and XML)。Ajax是一种客户端技术编程捷径,用来请求服务器,在无需完全回发的条件下更新内容。一般来说,Ajax页使用客户端脚本代码在幕后发起异步请求。服务器接收请求,运行相关代码,返回页面所需数据(通常是XML标记块)。最后,客户端代码接收新数据,然后执行其他动作,比如刷新页面某部分。尽管Ajax概念上非常简单,但是它能让你的页面运行起来更流畅、更连续。以下通过图示说明普通页面方式和Ajax方式的不同。
Ajax和类似的客户端脚本技术并不新颖,但近年来它们在web开发中开始发挥越来越重要的作用。原因之一是XMLHttpRequest对象——支持异步客户请求的对象——在当前浏览器中被广泛支持,比如:
l   Internet Explorer 5 或更高版本
l   Netscape 7或更高版本
l   Opera 7.6或更高版本
l   Safari1.2或更高版本
l   Firefox1.0或更高版本
不过,用这种方式写客户端脚本确实比较巧妙。你将在第31章学习到ASP.NET回调来做这些事情。不过,ASP.NET也包括一些更强大组成部分叫做ASP.NET AJAX,用来扩展ASP.NET的应用。
 
绿点和红点

很奇怪,ASP.NET3.5并不是完全新版ASP.NET。相反,ASP.NET3.5是基于.NET2.0上添加一些特性来设计的。再.NET3.5中不变的部分通常叫做红点,变的部分叫做绿点。
         红点包括CLRASP.NET引擎和所有.NET2.0类库。换句话说,如果你创建新的ASP.NET3.5应用,运行环境和ASP.NET2.0一样。另外,你在.NET2.0中的使用的所有类——包括连接数据库、读写文件、web控件等等——在.NET3.5继续保留。红点也包括.NET3.0的特性,比如WCF
         所有.NET3.5中的程序集保留它们原始版本号。即.NET3.5包括2.0,3.03.5的混合版。
         ASP.NET3.5绿点包括一部分新类型。对于ASP.NET开发人员,重要的新程序集包括:
l   System.Core.dll:包括LINQ核心功能
l   System.Data.Linq.dll:包括LINQ to SQL的实现
l   System.Data.DataSetExtensions.dll:包括LINQ to DataSet的实现
l   System.Xml.Linq.dll:包括LINQ to XML的实现
l   System.Web.Extensions.dll:包括ASP.NET AJAX和新web控件的实现。
 
创建ASP.NET3.5应用,你可以使用C#3.0语言编译器。它包括支持一些新特性,大多数需要LINQ支持。下图展示了ASP.NET3.5类和组件
理解ASP.NET3.5的多层架构非常重要,因为你仍然能看到某些旧版本的痕迹。比如,ASP.NET将临时文件和web服务器配置文件放到c:\Windows\Microsoft.NET\Framework\v2.0.50727。因为ASP.NET3.5使用ASP.NET2.0引擎,而ASP.NET2.0最终版就是v2.0.50727
Silverlight

最近,有许多Silverlight新动向。这是一项微软新技术,允许各种操作系统上的各种浏览器运行真正的.NET代码。Silverlight通过一个浏览器插件运行,提供.NET Framework类库的一个子集,包括WPF的简化版(WPF用来开发下一代windows用户界面)。
         那么,Silverlight如何适应ASP.NET世界的?Silverlight是全部面向客户端代码的,可以用来创建丰富页面,而不仅仅是HTMLDHTMLJavaScript。从某种意义上讲,Silverlight模仿了Adobe Flash的特性和目标。通过在web页面中使用Silverlight,可以画出强大的2D图形、演示场景或播放视频和其他媒体文件。
         Silverlight特别适合创建小脚本,就像浏览器游戏一样。(略)
         从很多方面上说,SilverlightASP.NET的补充技术。ASP.NET3.5不包括基于Silverlight的任何特性,但是未来的ASP.NET版本会做到。比如,未来的ASP.NET版本可能包括服务器控件用来发送Silverlight内容。(略)
 
翻译是个苦活啊,未完待续……









本文转自 王杰瑞 51CTO博客,原文链接:http://blog.51cto.com/wangjierui/58648,如需转载请自行联系原作者
目录
相关文章
|
4天前
|
开发框架 前端开发 JavaScript
盘点72个ASP.NET Core源码Net爱好者不容错过
盘点72个ASP.NET Core源码Net爱好者不容错过
80 0
|
4天前
|
开发框架 .NET
ASP.NET Core NET7 增加session的方法
ASP.NET Core NET7 增加session的方法
40 0
|
7月前
|
存储 开发框架 前端开发
asp.net与asp.net优缺点及示例
asp.net与asp.net优缺点及示例
|
4天前
|
开发框架 前端开发 .NET
进入ASP .net mvc的世界
进入ASP .net mvc的世界
32 0
|
4天前
|
开发框架 中间件 .NET
C# .NET面试系列七:ASP.NET Core
## 第一部分:ASP.NET Core #### 1. 如何在 controller 中注入 service? 在.NET中,在ASP.NET Core应用程序中的Controller中注入服务通常使用<u>依赖注入(Dependency Injection)</u>来实现。以下是一些步骤,说明如何在Controller中注入服务: 1、创建服务 首先,确保你已经在应用程序中注册了服务。这通常在Startup.cs文件的ConfigureServices方法中完成。例如: ```c# services.AddScoped<IMyService, MyService>(); //
100 0
|
4天前
|
开发框架 前端开发 .NET
C# .NET面试系列六:ASP.NET MVC
<h2>ASP.NET MVC #### 1. MVC 中的 TempData\ViewBag\ViewData 区别? 在ASP.NET MVC中,TempData、ViewBag 和 ViewData 都是用于在控制器和视图之间传递数据的机制,但它们有一些区别。 <b>TempData:</b> 1、生命周期 ```c# TempData 的生命周期是短暂的,数据只在当前请求和下一次请求之间有效。一旦数据被读取,它就会被标记为已读,下一次请求时就会被清除。 ``` 2、用途 ```c# 主要用于在两个动作之间传递数据,例如在一个动作中设置 TempData,然后在重定向到另
122 5
|
4天前
|
SQL 开发框架 JavaScript
分享33个ASP.NET电子商务源码和40个ASP.NET控件组件源码,总有一款适合您
分享33个ASP.NET电子商务源码和40个ASP.NET控件组件源码,总有一款适合您
33 0
|
4天前
|
开发框架 安全 搜索推荐
分享105个NET源码ASP源码,总有一款适合您
分享105个NET源码ASP源码,总有一款适合您
30 4
|
4天前
|
存储 开发框架 .NET
Asp.net就业课之Ado.net第一次课
Asp.net就业课之Ado.net第一次课
22 0
|
4天前
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
48 0

热门文章

最新文章