ASP.NET、.NET和C#的关系

 

ASP.NET、.NET和C#的关系是怎样的?

1、.NET是什么?
.Net全称.NET Framework是一个开发和运行环境,该战略是微软的一项全新创意,它将使得“互联网行业进入一个更先进的阶段”,.NET不是一种编程语言. 简单说就是一组类库框架,.NET开发支持C#、VB.NET、J#、Jsript和Managed C++等。
C#是.NET Framework框架支持的一种主力开发语言,可用于开发ASP.NET网站,Windows程序,控制台程序,甚至于手机软件(Windows Phone)。
2、ASP.NET、.NET和C#的关系是怎样的?
.NET 分成两个方面:
(1)WinForm
(2)WebForm
ASP.NET就是属于WebForm,也就是平时说的B/S模式的开发。而WinForm就是属于C/S模式。
.NET有很多种语言组成,比如C#、 VB.NET、J#、Jsript、Managed C++,但是都是运行在.NET FrameWork Run Time底下的。
Asp.NET可以用C#或VB.NET来开发。编译后形成CLR,通过服务器的IIS+.NET FrameWork再次编译来运行。
总之,ASP.NET是.NET Framework环境下的动态网页编程技术,.NET Framework是.NET的基础框架,Visual Studio.NET是用于开发软件的一个集成环境(IDE)。当然后续出来了Windows Phone/WPF等。
3、.NET开发是用什么语言?
.NET声称支持市面上20多种语言,但目前只有微软官方发布的C#,VB.NET,J#, Jsript和Managed C++。
Tips:C#是主流哦!
4、为什么大部分用C#语言开发.NET?
C#是Microsoft公司设计的一种编程语言,C#(读做‘Csharp’)。它基于C/C++,是面向对象的。没有指针,有垃圾回收机制,会自动释放内存空间。学习C#并不必须有C语言的基础,不过,如果你学过C语言,那会事半功倍的,因为他们之间有很多语法是一样的。C#支持的基本类型和C++很相似,包括int, long, float, double, char, string, arrays, structs和 classes等。
5、Bin文件夹下的DLL可以做什么?
(1)它是自动生成的,不用自己添加。
(2)作用:bin文件夹中包含项目中所用到的所有引用的类库,支持服务器等内容。
DLL的全称是Dynamic Link Library, 中文叫做“动态链接文件”。
6、.NET主要的优点有哪些?
.NET的主要优点有跨语言,跨平台,安全,以及对开放互联网标准和协议的支持。
.NET支持多种语言的互操作,即在一种语言下开发的组件,可在另一组件下通过面向对象的继承而得以重用。.NET通过将各语言先编译成中间语言(IL),然后再执行时用即时(Just In Time)编译器将之编译成本地平台代码来实现异构平台下对象的互操作,.NET通过公共语言运行库CR(Common Language Runtime)来实现资源对象,类型的安全。.NET通过对HTTP,XML等Internet标准的支持提供在异构网络环境下获取远程服务,连接远程设备,交互远程应用的编程界面。
7、ASP.NET和ASP的区别?
ASP.NET和ASP的最大区别在于编程思维的转换以及功能的增强。
ASP使用VB/JS这样的弱类型、面向结构的脚本语言混合html来编程,而非面向对象,这就明显产生以下几个问题:
1、代码逻辑混乱,难于管理。
2、代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,代码重用性差。
3、弱类型造成潜在的出错可能。
以上是ASP语言本身的弱点,在功能方面ASP同样存在问题:
第一是功能太弱,一些底层操作只能通过组件来完成。
第二缺乏完善的纠错/调试功能。
ASP.NET理论上可以使用任何编程语言包括C#,VB.NET、JS、、J#、Managed C++等等,最合适的编程语言还是MS为.NET Frmaework专门推出的C#。
优点如下:
(1)是面向对象的编程语言,简单易学。
(2)具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,封装性使得代码逻辑清晰,并且应用到ASP.NET上就可以使业务逻辑和Html页面分离;继承性和多态性使得代码的可重用性大大提高
(3)C#还提供了完善的调试/纠错体系。
以上概念对于我们新手还是有用的,能很好地理解清楚一些基本知识点。

“菜”鸟理解.NET Framework(CLI,CLS,CTS,CLR,FCL,BCL)

  既然要学.NET,就要先认识认识她,我不喜欢大段大段文字的东西,自己通过理解,画个图,来看看.NET的沉鱼落雁,闭月羞花之容。

 

  最下层蓝色部分是.NET Framework的基础,也是所有应用软件的基础。.NET Framework不是凭空出来的,实际上API,COM+,和一些相关驱动依然是它的基石。.NET Framework只不过是对这些前辈们进行了系统的封装和扩充,在这个过程中,吸取了Java框架的很多经验。关于Win32 API与.NET Framework API的对应关系,可以参考Microsoft Win32 to Microsoft .NET Framework API Map

  菜谱:除了蓝色部分以外,其他均为.NET Framework的主体。它是基于通用语言基础架构(Common Language Infrastructure,CLI)。它就像一本江湖上失传已久的菜谱。

  厨师通用语言运行平台(Common Language Runtime,CLR),是对CLI这个架构在Windows平台的实现。简单地理解就是CLR这个厨师,让CLI这本菜谱发挥了其真正的作用。

  下面我们来尝尝这些佳肴:

  食物类库(Framework Class Library,FCL),所有在.NET能够使用的类库。分为两部分,一部分为原料,另一部分为成品菜

  • 原料基类库Base Class Library(BCL) ,顾名思义,其中包含一些基础的类,如:IO,String,Net等等。它们是做菜所必需的原料,当然也可以直接吃。
  • 成品菜FCL中的其他类。这些类库基本上都是引用BCL,在这些类库的基础上做的扩充。如:ADO.NET,ASP.NET,Windows.Forms等等,它们是我们编写程序更加方便,专一。

  餐具公共语言规范Common Language Specification (CLS) 和公共类型系统Common Type System (CTS) ,是CLI的一部分内容,它们的目的是保证各种语言与.NET Framework的兼容性的。就好像有的食客习惯用筷子,有的则喜欢用叉子,像八戒就用九齿钉耙。有了CLSCTS,各路食客就能使用自己喜欢用的餐具吃上可口的食物了。例如:把C#中的int和VB中的Integer统一映射到System.Int32。

  食客:各种语言,C#,VB,等等。

  至于食客们是怎么吃这些东西的,可以参考深入探索.NET框架内部了解CLR如何创建运行时对象,这篇文章详细的解释了,.NET是如何运行的,涉及一些底层的东西,大家了解就行,不必深究。


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值