初步认识.NET

.net基本简介

.NET是微软下一代的操作平台,它允许人们在其上构建各种应用方式,使人们尽可能通过简单的方式,多样化地、最大限度地从网站获取信息,解决网站之间的协同工作,并打破计算机、设备、网站、各大机构和工业界间的障碍--即所谓的“数字孤岛”,从而实现因特网的全部潜能,搭建起第三代互联网平台。

中文意思是:网,网状物。后缀为net是网络服务公司,为个人或商业提供服务。

.NET是微软的新一代技术平台,为敏捷商务构建互联互通的应用系统,这些系统是基于标准的,联通的,适应变化的,稳定的和高性能的。从技术的角度,一个.NET应用是一个运行于.NET Framework之上的应用程序。(更精确的说,一个.NET应用是一个使用.NET Framework类库来编写,并运行于公共语言运行时 Common Language Runtime之上的应用程序。)如果一个应用程序跟.NET Framework无关,它就不能叫做.NET程序。比如,仅仅使用了XML并不就是.NET应用,仅仅使用SOAP SDK调用一个Web Service也不是.NET应用。

什么是.net?

     .net是一种平台和框架, .net 不是单纯的语言也不是单纯的工具,它是从底层平台开始构建起来的一个整体框架

请以图示方式解释.net framework?

VB

C++

C#

Jscript

Common Language Specification

XML Web

services

Web Forms

Windows Forms

Data and XML

Base Class Library

CLR

CLI

.NET程序的编译与运行

 

在编译使用.NET框架创建的代码时,不是立即创建成操作系统特定的本机代码,而是把代码编译为微软中间语言(MSIL)代码。在执行应用程序时由JIT编译器把MSIL编译为专用于某种操作系统和目标机器结构的本机代码,然后操作系统才能执行应用程序。

程序集

    在编译应用程序时,创建的MSIL代码存储在一个程序集中,程序集包括可执行的应用程序文件(.exe)和其他应用程序使用的库(.dll),还包括元数据和可选资源。

托管代码

    托管是什么意思,说白了就是让CLR管理着应用程序,从源代码到MSIL,再到本机代码,再到程序执行,由.NET与操作系统进行交互。不在CLR控制之下运行的应用程序时非托管的。

托管代码最重要的一个功能是无用存储单元收集(garbage collection),也称垃圾回收,确保应用程序不再使用某些内存时,这些内存会被完全释放。

   下面这张图是.NET程序的编译与运行时的情况:

 

 

下面是关于.NET的几个小问题:

  1. .NET框架可以运行于哪些平台?

目前可以运行在windows95/98/MEwindowsNT4.0windows2000windowsXPwindows2003windowsvista上。

此外还有一个称为.NET精简框架的.NET框架版本,它运行在WindowsCE和其他嵌入式操作系统上。

  1. .NET框架支持哪些编程语言?

.NET框架与编程语言无关。事实上任何语言都可以支持.NET框架。目前可以用许多语言来创建.NET程序,包括:C++VB.netJScriptC#。以后也会有大量的第三方语言可以用来创建.NET框架应用程序,包括CobolEiffelPerlPythonSmalltalk等。

  1. .NET框架可以创建哪些类型的应用程序?

并不限制应用程序的类型,可以创建控制台应用程序、windows应用程序、Web应用程序、Web服务和其他各种类型的应用程序。

  1. .NET框架和COM+服务之间是什么关系?

.NET框架中,不仅可以完全访问COM+服务,而且也更容易创建服务组件。.NET框架组件还可以利用COM+中所提供的服务,如事务、对象池、排列组件、事件等。

ASP.NET中共有几种类型的控件?各有什么区别?

         WEB控件分为:内部控件, 列表控件, 复杂控件, 验证控件

         内部控件:内部控件的使用方法与 HTML 控件相同,它们映射到 HTML 元素并通过使用 runat = "server" 属性在服务器上执行

         列表控件:用于在 Web 页中创建数据列表

         复杂控件:当希望控件拥有复杂的功能或使用 HTML 元素无法创建的功能丰富的用户界面时,可以使用复杂控件

         验证控件:输入控件的数据需要进行准确性和取值范围方面的检查

ASP.Net与ASP相比,主要有哪些进步?

asp解释型,aspx编译型,性能提高,有利于保护源码

ASP的缺点:

l  VBScript和JavaScript是在ASP中仅可使用的两种脚本语言。它们是基本的非类型化语言。在ASP中不能使用强类型语言.

l  ASP页面需要解释,使得它执行速度较慢。

l  ASP页面非常凌乱。

l  在使用ASP创建WEB应用程序时,程序员和设计人员必须在同一文件上一起工作。

l  在ASP中,必须通过编写代码来提供所需的任何功能。

l  在ASP中没有对代码给予太多的关注。

l  在ASP中没有调试机制。

l  在ASP中。必须停止WEB服务器才能安装DLL的新版本,并且在应用程序中使用DLL的新版本之前,必须先在注册表中注册它,而且,DLL注册过程非常复杂。

ASP.NET的优点:

l  ASP.Net中支持强类型语言.

l  ASP.Net页将被编译而不是解释,这样它们的执行速度就比ASP页快。

l  ASP.Net提供声明性服务器控件。

l  ASP.Net通过继承机制来支持代码的重用。

l  ASP.Net具有Trace的内置方法,可以帮助对页面进行调试。

l  在ASP.Net中,置于应用程序的BIN目录中的任何组件将自动对应用程序可用.

.Net中常用的几种页面间传递参数的方法,并说出他们的优缺点。

1、queryString  url参数 简单,显示于地址栏,长度有限

优点:简单易用;资源占用比较少。

缺点:传递数据大小有限制,只能传递基本类型的数据,安全性差

2、session(viewstate)

优点:简单,灵活性强,能传递复杂的对象

缺点:但易丢失,资源消耗大

3、cookie

优点:简单,

缺点:但可能不支持,可能被伪造,大小有限制不能超过4KB 不恩能够存储复杂对象

4、this.Server.Transfer,

优点:URL地址不变,安全性高,灵活性强,能传递复杂的对象

缺点:资源消耗大

5、hidden control/viewstate  简单,可能被伪造

6、static member。 

7、cache 

8、application

优点:全局

缺点:资源消耗大

9、DataBase  数据库 稳定,安全,但性能相对弱

10、xml or other   Files 

11、XMLHTTP or Hidden iFrame/frame 

12、Context.user.identity 

通过查阅资料,初步了解了.net。

原文地址:https://www.cnblogs.com/1232446u/p/7506855.html