简单了解.NET Framework_实用技巧

来源:脚本之家  责任编辑:小易  

.NET FrameworkNET Framework是在Microsoft.NET平台上进行开发的基础,.NET Framework以及针对设备的.NET Framework简化版为XML Web服务和其他应用程序提供了一个高效安全的开发环境,并全面支持XML。大家一定对Web Service模型在.NET中的重要性都有所了解,那么,我们如何才能容易地部署、维护一个可支持几百万客户端的Web Service呢?这需要选择恰当的基础架构,也就是.NET Framework设计的目标。NET Framework是在Microsoft.NET平台上进行开发的基础,.NET Framework以及针对设备的.NET Framework简化版为XML Web服务和其他应用程序提供了一个高效安全的开发环境,并全面支持XML。Visual StudioVisual Studio.NET 介绍Visual Studio.NET 是一套完整的开发工具,用于生成 ASP Web 应用程序、XML Web services、桌面应用程序和移动应用程序。Visual Basic.NET、Visual C++.NET、Visual C#.NET 和 Visual J#.NET 全都使用相同的集成开发环境(IDE),该环境允许它们共享工具并有助于创建混合语言解决方案。另外,这些语言利用了.NET Framework 的功能,此框架提供对简化 ASP Web 应用程序和 XML Web services 开发的关键技术的访问。本主题包含有关下列内容的信息:Visual Studio.NET 的特色阅读 Visual Studio.NET 中的 Visual J#、智能设备应用程序、ASP.NET 移动设计器、Windows 窗体、XML Web services 以及 XML 支持的概述。NET Framework阅读公共语言运行库、统一编程类和 ASP.NET 的简要概述。入门找出教程、模板和迁移信息,使您为使用此 Visual Studio 版本做好准备。Visual Studio.NET 的特色本节包含有关此 Visual Studio 版本中的一些最新工具和技术的信息。Visual J#Visual J# 是一种开发工具,供熟悉 Java 语言语法的开发人员在.NET Framework 上生成应用程序和服务时使用。该工具将 Java 语言语法集成到 Visual Studio.NET 集成开发环境(IDE)中。Visual J# 还支持 Visual J+6.0 中具有的大多数功能,包括 Microsoft 扩展。Visual J# 不是一种用于开发在 Java 虚拟机上运行的应用程序的工具。使用 Visual J# 生成的应用程序和服务只在.NET Framework 上运行。Visual J# 由 Microsoft 独立开发。它没有经过 Sun Microsystems,Inc.的认可和批准。有关更多信息,请参见 Visual J# 介绍。智能设备应用程序Visual Studio.NET 集成开发环境现在包括开发智能设备(如 Pocket PC)应用程序的工具。通过使用这些工具和.NET Framework 精简版(.NET Framework 的子集),您可以在个人数字助理(PDA)、移动电话和其他资源受约束的设备中,创建、生成、调试和部署在.NET Framework 精简版上运行的应用程序。有关更多信息,请参见智能设备项目。ASP.NET 移动设计器ASP.NET 移动设计器扩展了 ASP.NET 和.NET Framework,可用来生成移动电话、PDA 和寻呼机的 Web 应用程序。此设计器集成在 Visual Studio IDE 中。您可以创建移动 Web 应用程序,使用移动设计器修改移动 Web 窗体,然后生成和运行该应用程序(所有这些操作都是在 Visual Studio 中完成的)。有关更多信息,请参见 ASP.NET 移动设计器入门。Web 窗体Web 窗体是用于创建可编程 Web 页的 ASP.NET 技术。Web 窗体将自己呈现为浏览器兼容的HTML 和脚本,这使任何平台上的任何浏览器都可以查看 Web 页。使用 Web 窗体,通过将控件拖放到设计器上然后添加代码来创建 Web 页,与创建 Visual Basic 窗体的方法相似。有关更多信息,请参见介绍 Web 窗体页。Windows 窗体Windows 窗体是用于 Microsoft Windows 应用程序开发的、基于.NET Framework 的新平台。此框架提供一个有条理的、面向对象的、可扩展的类集,使您能够开发功能丰富的 Windows 应用程序。另外,Windows 窗体可作为多层分布式解决方案中的本地用户界面。有关更多信息,请参见 Windows 窗体介绍。XML Web ServicesXML Web services 是可以通过 HTTP 使用 XML 接收请求和数据的应用程序。XML Web services 不受特定组件技术或对象调用约定的制约,因此可由任何语言、组件模型或操作系统访问。在 Visual Studio.NET 中,可以使用 Visual Basic、Visual C#、JScript、C++ 的托管扩展或 ATL Server 快速创建和包含 XML Web services。有关更多信息,请参见使用 XML Web services 进行 Web 编程。XML 可扩展标记语言(XML)提供描述结构数据的方法。XML 是 SGML 的子集,非常适合在 Web 上传送。万维网联合会(W3C)定义了 XML 标准以使结构化数据保持统一并独立于应用程序。Visual Studio.NET 完全支持 XML,提供了 XML 设计器以使编辑 XML 和创建 XML 架构更容易。有关更多信息,请参见 XML 架构和数据和 XML 设计器。NET FrameworkNET Framework 是用于生成、部署和运行 XML Web services 和应用程序的多语言环境。它由三个主要部分组成:公共语言运行库 运行库实际上在组件的运行时和开发时操作中都起到很大的作用,尽管名称中没有体现这个意思。在组件运行时,运行库除了负责满足此组件在其他组件上可能具有的依赖项外,还负责管理内存分配、启动和停止线程和进程,以及强制执行安全策略。在开发时,运行库的作用稍有变化;由于做了大量的自动处理工作(如内存管理),运行库使开发人员的操作非常简单,尤其是与今天的COM 相比。特别是反射等功能显著减少了开发人员为将业务逻辑转变为可重用组件而必须编写的代码量。统一编程类 该框架为开发人员提供了统一的、面向对象的、分层的和可扩展的类库集(API)。目前,C++ 开发人员使用 Microsoft 基础类,而 Java 开发人员使用 Windows 基础类。框架统一了这些完全不同的模型并且为 Visual Basic 和 JScript 程序员同样提供了对类库的访问。通过创建跨所有编程语言的公共 API 集,公共语言运行库使得跨语言继承、错误处理和调试成为可能。从 JScript 到 C++ 的所有编程语言具有对框架的相似访问,开发人员可以自由选择它们要使用的语言。ASP.NET ASP.NET 建立在.NET Framework 的编程类之上,它提供了一个 Web 应用程序模型,并且包含使生成 ASP Web 应用程序变得简单的控件集和结构。ASP.NET 包含封装公共HTML 用户界面元素(如文本框和下拉菜单)的控件集。但这些控件在 Web 服务器上运行,并以HTML 的形式将它们的用户界面推送到浏览器。在服务器上,这些控件公开一个面向对象的编程模型,为 Web 开发人员提供了面向对象的编程的丰富性。ASP.NET 还提供结构服务(如会话状态管理和进程回收),进一步减少了开发人员必须编写的代码量并提高了应用程序的可靠性。另外,ASP.NET 使用这些同样的概念使开发人员能够以服务的形式交付软件。使用 XML Web services 功能,ASP.NET 开发人员可以编写自己的业务逻辑并使用 ASP.NET 结构通过 SOAP 交付该服务。有关更多信息,请参见 Soap 社区链接。有关更多信息,请参见.NET Framework 概述和.NET Framework 的内容。入门您可以通过若干方法来熟悉此 Visual Studio.NET 版本。Visual Studio.NET 演练演练指导您使用 Visual Studio.NET 一步步完成任务。使用演练熟悉此产品并了解可以如何一起使用不同的技术。胖客户端应用程序演练描述创建基于 MFC 的胖客户端应用程序的过程。Web 窗体应用程序演练描述创建基于 Web 的、与为 Visual Basic、Visual C# 或 C++ 的托管扩展编写的业务对象组件集成在一起的应用程序的过程。创建和访问 XML Web services 演练描述使用 Visual Basic 或 C#、C++ 的托管扩展或 ATL Server 创建 XML Web services,然后从应用程序中使用该 XML Web services 的过程。演练:创建分布式应用程序描述使用 Visual Basic 或 Visual C# 创建多层分布式应用程序的过程。Visual J# 演练列出许多演练,这些演练集中讲述如何使用 Visual J# 完成编程任务,例如创建分布式应用程序、创建和访问 XML Web services 以及使用 Web 窗体等等。有关其他演练,请参见 Visual Studio 演练。企业级模板Visual Studio.NET 提供了若干项目模板,您可以使用它们来开始开发分布式应用程序。企业级模板定义分布式应用程序的初始结构,并且还提供应用程序设计方面的结构性和技术性指导。除预定义企业级模板外,还可以创建自定义模板,供开发人员在小组环境中使用。有关更多信息,请参见企业级模板演练和使用企业级模板创建分布式应用程序的优点。迁移现有应用程序每一个版本中都有一些工具和技术被更好的方法所取代以实现您的编程目标。因此,用早期的 Visual Studio 版本创建的应用程序可能需要更新,以便用当前的 Visual Studio 版本正确地加载和生成www.zgxue.com防采集请勿采集本网。

一、CLR集成了很多种语言,他们之间可以互相访问,是因为CLR建立的标准的类型集、元数据、公共执行环境。

NET Framework 是支持生成和运行下一代应用程序和 XML Web services 的内部 Windows 组件。NET Framework 旨在实现下列目标: 提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是

  由于各种语言间存在着极大的差别,如区分大小写,有的不支持unsigned、操作符重载或者参数可变方法,所以想要创建这种让别的语言能访问的程序,自己所用的编程语言只能使用其它语言都支持的那些特性。

不需要?你只要了解一下就OK了 不了解.NET的运行机制可以看看

  为了帮助我们更好的做到这一点,Microsoft定义一个“公共语言规范(Common Language Specification,CLS)”。

NET Framework 的目的就是要让建立Web Services 以及因特网应用程序的工作变的简单,.NET Framework 包括了三大部分度:第一个部分是Common Language Runtime(CLR,所有.NET 程序语言公用的执行时期组件

二、CTS定义了一组语言编译器必须遵循的规则,以定义、引用、使用和存储引用类型和值类型。因此,遵循CTS在不同语言中编写的对象才能彼此交互。但并不是所有的类型都可以用于所有的语言。

是用于Windows的新托管代码编1653程模型。它将强大的功能与新技术结合起来,用于构建具有视觉上引人注目的用户体验的应用程序,实现跨技术边界的无缝通信,并且能支持各种业务流程百度百科-.NET Framework

三、Language Complile:语言编译器,每种语言基于.net的语言都会有一个面向CLR的托管模块,也可以理解为语言

.net framework 是工作框架,电脑运行也要基于框架来处理;visual studio只是微软的开发工具,基于工作框架来做开发的软件 有C的基础的话学习其他语言不是很难,一语通万语,其实语法都差不多,

  编译器,把对应的语言编译成MSIL。

  MSIL:微软中间语言,CLR负责把中间语言编译成为执行程序的计算机可以理解的语言,是一种介于高级语言和汇编语言的伪汇编语言。

  JIT(Just In-Time Compile):即时编译,将MSIL解释为程序可以理解的语言。

四、CLR的执行模型

  1、将源代码(vb、cs)编译成托管代码块。托管代码块有中间语言和元数据组成。

  2、将托管代码合并成程序集,也叫组件(dll)。程序集中包含了一张叫做“清单”的模块,记录了构成程序集模块构成的信息包括资源文件及需要引用自己的信息。

  3、加载公共语言运行库。

  4、执行程序集的代码。

       5、生成本地代码。

五、CLI,公共语言基础架构(Common Language Infrastr)。 CLI是一种规范。而CLR则是对这种规范的一个实现。

六、BCL,基础类库(Base Class Library)

  BCL是一个公共变成框架,称为基类库,所有语言的开发者都能利用它。是CIL(Common Language Infrastructure ture,公共语言基础结构)的规范之一,主要包括:执行网络操作,执行I/O操作,安全管理,文本操作,数据库操作,XML操作,与事件日志交互,跟踪和一些诊断操作,使用非托管代码,创建与调用动态代码等,粒度相对较小,为所有框架提供基础支持。

七、FCL,框架类库(Framework Class Library)

  FCL提供了大粒度的编程框架,它是针对不同应用的框架,FCL大部分实现都引用了BCL,例如我们常说的开发框

架:ASP.NET、MVC、WCF和WPF等等,提供了针对不同层面的变成框架。

八、托管代码与非托管代码

  1、托管代码就是Visual.NET和C#编译器编译出来的代码,托管代码在公共语言运行库(CLR)中运行。

  2、非托管代码是运行在公共语言运行库环境(CLR)的外部,由操作系统直接执行的代码。非托管代码必须提供自己的垃圾回收、类型检查、安全支持等服务。

  区别:

      1、托管代码是一种中间语言,运行在CLR上;

         非托管代码被编译为机器码,运行在机器上。

      2、托管代码独立于平台和语言,能更好的实现不同语言平台之间的兼容;

        非托管代码依赖于平台和语言。

      3、托管代码可享受CLR提供的服务(如安全检测、垃圾回收等),不需要自己完成这些操作;

        非托管代码需要自己提供安全检测、垃圾回收等操作。

      4、.Net有很多非托管的资源,比如StreamWriter、Timer、数据库链接。

九、非托管代码Unsaft

  Unsaft可以用来修饰类、类的成员函数、类的全局变量,但不能用来修饰类成员函数内的局部变量,在公共语言运行时(CLR)中,不安全代码是值无法验证的代码。C#中的不安全代码不一定是危险的,只是其安全性无法由CLR进行验证的代码。因此,CLR只对在完全受信任的程序集中的不安全代码执行操作。如果使用不安全代码,由您负责确保您的代码不会引起安全风险或指针错误。运行Unsaft,需要设置:

    1、单击“配置属性”文件夹。

    2、单击“生成”属性页。

    3、修改“允许不安全代码块”属性。

十、垃圾回收GC

  1、什么是GC?

    GC(Garbage Collector)如其名,就是垃圾收集,这里仅就内存而言。

  2、GC的工作原理:

    GC遍历应用程序在Heap(堆)上动态分配的所有对象,通过识别他们是否被引用来确定那些对象是已经死亡的、哪些仍需要被使用,已经不再被应用程序所引用的对象就是已经死亡的对象,即所谓的垃圾,需要被回收。

 十一、.NET的GC机制两个问题:

  1、首先,GC并不是能释放所有的资源。它不能自动释放非托管资源。

  2、GC并不是实时性的,这会造成系统性能上的瓶颈和不确定性。所以有了IDisposable接口,IDisposable接口定义了Dispose方法,这个方法用来供程序员显示调用以释放非托管资源。使用using语句可以简化资源管理GC.Collect()方法。 

            作用:强制进行垃圾回收。

十二、什么是元数据?

  元数据是一种二进制信息,用以对存储在公共语言运行库可移植可执行文件(PE)文件或存储在内存中的程序进行描述 

       元数据存储以下信息: 程序集的说明、类型的说明、属性。

十三、.NET Framework 框架体系

十四、.NET Framework概念回顾

    1、IL/MSIL/CIL  Microsoft Intermedidte Language )微软中间语言(IL是MSIL的缩写,译为中间语言);

    2、CTS (Common Type System) 通用类型系统

    3、CLS (Common Language Specification) 公共语言规范;

    4、CLR (Common Language Runtime) 公共语言运行时(也由的叫公共语言运行库);

    5、JIT (Just in Time)即时编译器;

    6、CLI  公共语言基础架构(Common Language Infrastructure)

    7、BCL    基础类库(Base Class Library);

    8、FCL 框架类库(Framework Class Library);

以上就是简单了解.NET Framework的详细内容,更多关于.NET Framework的资料请关注真格学网其它相关文章!

高速马路某些用.net 语音编写的程序 就好比这条马路的汽车。没有这马路 车子就开不动内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • 无盘完美解决windows server 2012或2016无法安装.net framework3.5的方法
  • 解决win10无法安装.net framework 3.5提示错误代码0x800f081f
  • windows server 2012 r2或2016无法安装.net framework 3.5.1的解决方法
  • 安装.net framework进度条卡住不动的解决方案(推荐)
  • win10下安装sql server 2014反复提示需安装.net framework 3.5 sp1的解决方案
  • 使用aspnet_regiis.exe重新注册.net framework
  • 无法启动.net framework ngen v4.0.30319_x86服务的解决方法
  • iis和.net framework 4.0的安装顺序导致的问题(重新注册.net 4.0)
  • asp.net core使用swagger生成api文档的完整步骤
  • asp.net backgroundworker之在后台下载文件
  • 用.net core写爬虫爬取电影天堂
  • asp.net管理信息系统中数据统计功能的实现方法
  • aspx中的mysql操作类sqldatasource使用示例分享
  • asp.net core mvc/webapi基础系列1
  • c#.net 微信公众账号接口开发
  • asp.netweb服务器验证控件如何使用
  • 学习使用asp.net 2.0的本地化
  • asp.net 用户在线退出更新实现代码
  • .NET Framework 到底是什么东西 用简单一点的话概括
  • 谁能为我详细介绍一下:.Net Framework 的功能和特点,谢谢
  • .Net Framework类库可以由.Net的所有语言进行开发,那是不是像简单的三层那样啊?
  • 什么是.NET Framework的基础。
  • 用简单自动直观的语言描述.Net Framework特点与作用
  • .NET开发是不是需要了解.NET framework的所有类?
  • .net framework到底是什么,有什么用?
  • .NET Framework的作用是什么?为什么很多软件安装需要它?
  • C#,.NET FRAMEWORK和visual studio之间是什么关系?请简单解释一下,另外有C语言编程基础学C#容易么
  • 什么是.NET?什么是.net framework?它俩有什么关系?求高手解答
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全基础应用实用技巧自学过程首页asp.net无盘完美解决windows server 2012或2016无法安装.net framework3.5的方法解决win10无法安装.net framework 3.5提示错误代码0x800f081fwindows server 2012 r2或2016无法安装.net framework 3.5.1的解决方法安装.net framework进度条卡住不动的解决方案(推荐)win10下安装sql server 2014反复提示需安装.net framework 3.5 sp1的解决方案使用aspnet_regiis.exe重新注册.net framework无法启动.net framework ngen v4.0.30319_x86服务的解决方法iis和.net framework 4.0的安装顺序导致的问题(重新注册.net 4.0)asp.net core使用swagger生成api文档的完整步骤asp.net backgroundworker之在后台下载文件用.net core写爬虫爬取电影天堂asp.net管理信息系统中数据统计功能的实现方法aspx中的mysql操作类sqldatasource使用示例分享asp.net core mvc/webapi基础系列1c#.net 微信公众账号接口开发asp.netweb服务器验证控件如何使用学习使用asp.net 2.0的本地化asp.net 用户在线退出更新实现代码java正则表达式 pattern和matche未将对象引用设置到对象的实例 (asp.net(c#)网页跳转七种方法小结未能加载文件或程序集“xxx”或它asp.net“服务器应用程序不可用”asp.net中的几种弹出框提示基本实asp.net gridview 72般绝技asp.net生成excel并导出下载五种asp.net对路径"xxxxx"asp.net汉字转拼音和获取汉字首字asp.net执行cmd命令的实现代码asp.net session丢失的解决方法小结visual studio 2013如何使xml文件转换成类有关.net参数传递的方式引发的思考asp.net抓取网页内容的实现方法.net core webapi通过中间件获取请求和响asp.net做的ip访问限制.net平台推送ios消息的实现方法.net微信服务号发送红包后缀为 ashx 与 axd 的文件区别浅析
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved