知识大全 .NET中容易混淆的几组重要概念
Posted 框架
篇首语:贪婪是最真实的贫穷,满足是最真实的财富。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 .NET中容易混淆的几组重要概念相关的知识,希望对你有一定的参考价值。
.NET中容易混淆的几组重要概念 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
许多朋友在学习和开发 NET程序的过程中经常发现一些误用 NET概念的情况 本文将对AJAX LINQ Lambda等相关的概念进行梳理 希望在明确这些概念之后 大家能够把注意力集中在对于具体问题的分析解决上 而不要让沟通成为瓶颈
在这篇文章中 希望澄清三组概念 它们是
◆AJAX / AJAX框架 / AJAX NET (Professional) / ASP NET AJAX ◆LINQ / LINQ to SQL / LINQ to XXX ◆Lambda Expression / Expression Tree / 匿名方法
AJAX / AJAX框架 / AJAX NET (Professional) / ASP NET AJAX
这是我见过的混淆最多的一组概念 不过当去年AJAX技术如火如荼 AJAX框架层出不穷 而微软又推出ASP NET AJAX框架之后 这四个概念之间的混淆也愈发严重起来了 我经常能看到这样的问题
◆我在用AJAX技术时不知道怎么在UpdatePanel里…… ◆我用AJAX NET框架调用Web Service时……
这是非常典型的概念混淆 上面两句话的AJAX与AJAX NET都应该使用ASP NET AJAX替换 关于这几个概念的区别我《深入浅出ASP NET AJAX》系列WebCast多次进行解释 不过收效似乎并不明显 于是我打算在这里再进行一下说明
AJAX是Asynchronous JavaScript and XML缩写 这个概念代表的是一种技术 当您在说 我在项目中使用了AJAX技术时 只是代表了您使用客户端XMLHttpRequest对象与服务器端进行异步通信 不过因为随着AJAX技术的运用往往会带来丰富的客户端效果 因此对AJAX技术的广义理解也可以认为这是一种操作客户端DOM而带来丰富效果的技术(这个 广义 的描述其实并不准确 大家明白老赵的意思就可以了)
AJAX框架是一套辅助开发人员使用AJAX技术的代码包(库 etc ) 一个AJAX框架的目的一般是对XMLHttpRequest对象的使用进行封装 并提供一些操作DOM元素或者实现特殊效果的 捷径 成熟的AJAX框架有很多 它们可以被分为 以客户端为中心 和 面向特定服务器技术 两大类 前者的优秀代表有(排名不分先后) Prototype jQuery Mootools YUI Dojo等等(最后两个其实更接近一套客户端界面库 也就是 广义 的AJAX框架) 而后者的典型代表既是AJAX NET和ASP NET AJAX了——当然 也有优秀的AJAX框架面向其他服务器技术 在此不提
AJAX NET (Professional)是ASP NET平台上著名的AJAX框架 诞生于 年 月(虽然正式命名为AJAX NET则是在两个月之后) 作者为Michael Schwarz
同年 月 Michael为AJAX NET提供了更丰富的功能(主要是安全性方面) 并将其改名为AJAX NET Professional AJAX NET提供的最主要的(也是唯一)的功能就是异步调用服务器端方法 可谓非常纯粹的 基于数据 的AJAX使用方式 这个框架是一个个人作品 有支持 NET 和 的版本 它并不属于微软官方 目前已经停止更新
ASP NET AJAX的Code Name为 Atlas 在CTP向Beta版转移时曾经发生过翻天覆地的变化 ASP NET AJAX中包含了UpdatePanel等控件 可以非常透明地为现有的ASP NET WebForms应用程序添加AJAX效果 此外还提供了客户端异步调用Web Services的方法 使开发人员也能够使用面向数据的方式使用AJAX技术 值得一提的是ASP NET AJAX的 附属品 相当丰富 例如ASP NET AJAX名为 Microsoft AJAX Library 的客户端部分是一个纯客户端AJAX框架 提供了面向对象类型系统 浏览器兼容层 异步通信层等多种基础组件 ASP NET AJAX的开源扩展包 AJAX Control Toolkit 包含了数十个可以直接使用的AJAX服务器端控件 这样开发人员能够轻松地添加丰富的客户端效果 同时 官方还为ASP NET AJAX提供了 非正式 地扩展包 其中的History等优秀控件也将加入未来版本的ASP NET AJAX框架中 ASP NET AJAX是官方出品的AJAX框架 目前已经被集成到ASP NET 中去了 因此其版本号也从ASP NET AJAX 一下子 跃升为 ASP NET AJAX 如果您看到了这些版本号也请不要疑惑 其实ASP NET AJAX 相对于ASP NET AJAX 来说只是修补了一些细小bug 几乎没有任何变化
LINQ / LINQ to SQL / LINQ to XXX
LINQ是新生事物 不过从不少文章和讨论上看来 这方面的概念也已经有点混沌不清了 因此我们经常可以看到这样的话
◆LINQ只能将数据表与实体属性一一对应…… ◆LINQ开发指南 在LINQ中进行数据库字段映射……
以上两句话其实说的都是LINQ to SQL而不是指LINQ 可能由于LINQ to SQL的上镜率最广(连MSDN上About LINQ的第一个示例就是查询数据库的) 因此许多人都将LINQ to SQL与LINQ混用 这会给初学者造成误解 认为LINQ就是LINQ to SQL LINQ to SQL就是LINQ——事实当然不是这样的
LINQ是Language Integrated Query的缩写 是C# 和VB 中新加入的语言特性 可以在编程时使用内置的查询语言进行基于集合的操作 这么做可以大大简化开发过程 提高开发效率 例如
List userList = GetUserList();var userWithOddId = from u in userList where u UserID % == select u; foreach (User u in userWithOddId) Console WriteLine(u UserName);如果没有LINQ 要筛选出ID为奇数的User对象则需要创建一个List 然后遍历整个列表 将符合特定条件的User对象放入新列表 而有了LINQ 这部分的筛选就变得非常容易
甚至只需要一句话就能完成 如果觉得这个例子不够说明LINQ对生产力有重大贡献的话 请关注我接下来的一篇文章(暂定名为《我们为什么要拥抱LINQ》) LINQ特指形如上面这段代码中from where select这样的用法 其返回值是IQueryable或IEnumerable
LINQ to SQL是 NET 内置的一个轻量级O/R Mapping解决方案 可以将数据表映射为实体对象 方便开发人员对数据库的操作 可见 LINQ to SQL实只是LINQ的一个实现 提供了一个可以查询SQL Server数据库的LINQ Provider
LINQ Provider是LINQ查询的执行器 标准LINQ语法支持许多的操作符 但是某个具体的LINQ实现可能只支持其中的一部分 在 NET 默认提供了三种LINQ Provider 分别是LINQ to Object(即上面的例子) LINQ to SQL以及LINQ to XML
cha138/Article/program/net/201311/15025相关参考
由于银屑病的症状是以身体皮肤上出现红斑或鳞屑为主,所以此病很容易与其它的一些疾病相混淆。虽然有些病看起来也是类似的症状,但是其实并不是银屑病,所以当自己的身体出现异样时,不要盲目地判断为银屑病。(1)
想必大家对于白癜风疾病并不陌生,白癜风疾病已经成为了日常生活犯病率极高的一种疾病,白癜风是一种很难治愈的皮肤病,如果早期没有得到及时治疗的话,后期的治疗会非常的困难,因此患者需要在早期症状时就及时进行
牛皮癣是日常生活中比较常见的一种慢性皮肤病,其发病率很高,容易反复发作。由于不同的体质,不同的地区,发病的不同原因,所表现出来的症状也多种多样。因此,医生在给患者进行诊断的时候,很容易与其他皮肤病混淆
Delphi中易混淆的概念 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一Owne
白癜风的重要诊断标准之一就是白斑,通过白斑的形状、色泽、变化趋势诊断白癜风。但是在临床中有些疾病的白斑与白癜风症状极为相似,很容易出现混淆的情况,比如贫血痣和无色素痣,我们做个简单的介绍。临床中有些疾
白癜风的重要诊断标准之一就是白斑,通过白斑的形状、色泽、变化趋势诊断白癜风。但是在临床中有些疾病的白斑与白癜风症状极为相似,很容易出现混淆的情况,比如贫血痣和无色素痣,我们做个简单的介绍。临床中有些疾
与银屑病易混淆的几种疾病?银屑病也被成为牛皮癣,是最为顽固的皮肤病之一,我们知道通常银屑病的发病通常会带来好些特征,并且这些发病特征会和患者的发病部位和季节都有一定的关联,很多情况下患者都会与其他皮肤
对于手部关节运动的定义应有一明确概念,特别要区分容易混淆的一些运动。 (1)指间关节:各指的指间关节,仅有屈曲及伸展运动,比较简单,无侧方活动,只有在侧副韧带断裂时出现被动的侧方活动。 (2)拇指
在NET平台下程序集并没有直接承载在进程中(而传统的win程序是直接承载的)实际上NET可执行程序承载在进程的一个逻辑分区中术语称为应用程序域(也称AppDomain)可见一个进程可以包含多个应用
ASP.NET中处理异常的几种方式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 程序中使用tr