12 2017 档案
摘要:.Net垃圾回收 垃圾回收:指的是CLR对托管堆的垃圾内存进行回收,由CLR自动处理,这里简单说下垃圾回收的机制。 引用类型的内存分布 我们知道引用对象分配在托管堆上,我们新建一个Person对象来分析下新建的过程。 1. 声明一个Person类型变量(在栈 上分配一变量) 2. new 在托管堆
阅读全文
摘要:.Net反射 .Net 反射为:程序运行时,获取类型的元数据(对类型信息的描述)。这里对反射的应用小节一下。 反射的入口(Type) 为处理反射元数据的类。获取 的途径。 获取类型的基本信息 获取类型相关的信息:类型名、类型全名、基类名以及对类型的一些判断 获取类型的成员 MemberInfo 包括
阅读全文
摘要:WinForm跨线程访问控件异常 最近做了个WinForm的小项目,遇到个简单的问题记录下。需求:点击”下载“,显示正在下载,下载完后更新状态为”ready“(要求用多线程,避免前台卡死)。 做法 新建一个线程,在新线程中下在更新控件状态,报异常跨线程程访问控件(当然可以通过关闭跨线程访问控件检验解
阅读全文
摘要:Asp.net 的验证和授权 Asp.net为用户提供了一套验证机制,用户只需要遵守就可以。用户需要明白验证流程就可以了 1. 用户输入用户名和密码是否有效检验 2. 为有效用户创建cookie 3. 利用创建的cookie 得到票据ticket 4. 将票据ticket转换为cookie并输出 5
阅读全文
摘要:数据库监视器(SQL Server Profilter) 在工作难免遇到这种情况,应用程序执行某一操作,想知道这样操作对数据的操作情况。当然还有执行数据库调优(本人水平有限,这就不讲了)。这些情况需要用的SQL Server Profilter 使用步骤 1. 打开 2. 新建监视 3. 登陆需要监
阅读全文
摘要:.Net应用程序配置 .Net中的配置文件与读取 .Net中Config文件有web.config和App.config文件,这里用App.config举例(需要引用程序集:System.Configuration)。 使用内置节点和.Net内置处理程序 应用配置Appconfig跟节点下 程序读取
阅读全文
摘要:.Net Remoting 应用程序域 应用程序域提供一个托管环境,.Net 程序集都运行在应用程序域上。一个进程中可包含多个应用程序域,但只能有一个默认程序域,同一进程下的应用程序域独立运行。通过图查看 系统进程、应用程序域、.Net CLR. .Net Remoting .Net Remotin
阅读全文
摘要:加密与解密 在消息传输的情境下,加密与解密是为了保证消息的安全。 保证消息安全的三要性 完整性 消息的接收方可以确保消息在传输过程中没被篡改过 保密性 消息的发送方能够确定消息只有预期的接收方可理解(第三方截获的消息加密,不能理解) 可认证性 消息的接受方可以确定消息是谁发来的 散列算法保证消息的完
阅读全文
摘要:流与序列化 流的定义 流的用途是与应用程序外部的文件或数据进行数据交互。比如在访问文件时,有文件流(FileStream);在访问网络时,有网络流(NetworkStream)等。 这些流都继承自基类(Stream),因此他们的使用方式基本一致。 操作流的demo 流的知识体系 1. 基础流 Fil
阅读全文
摘要:程序集 定义 在.Net框架下,类似C 这样的高级语言经过编译后生成的结果文件被成为程序集(后缀名为.exe或.dll)。 程序集的组成 PE/COFF头 使Windows操作系统能够加载并运行 CLR头 告诉系统是.Net程序集 清单(manifest) 程序集标识可通过反编译查看 元数据 内容包
阅读全文
摘要:DotNet平台 DotNet平台: 可将C 等语言编译为程序集(CIL代码),为程序集运行提供环境。即为编译和运行提供环境。 专业术语了解 CIL (Common Intermediate Language)公共中间语言,也为程序集语言(因程序集为该语言描述) BCL(Base Class Lib
阅读全文
摘要:Linq的介绍 Linq的定义 Linq的全称是集成查询语言(Language Integrated Query),它为查询各种不同的数据(内存中的集合、数据库、XML文件、Excel)源提供了一个统一的接口(包括集合中数据的操作:查询、排序、拼接等)。 Linq预备知识 泛型和委托 将委托中的参数
阅读全文
摘要:集合的过滤和排序 这章主要设计list集合的FindAll,sort扩展方法实现机会的过滤或排序。在对集合处理时,最好用的系统提供的扩展方法。 过滤 的扩展方法 FindAll,参数类型为委托,传入过滤函数。 排序 排序有三种实现方式 下面是过滤与拍下的代码,可以相应注释查看相应运行结果。
阅读全文
摘要:委托 委托的定义 委托(delegate)可以理解为函数类型,实现了函数可以当作参数传递,使程序更加灵活。下面通过代码快速熟悉委托的使用顺序。 事件 事件(event):对委托的封装,保护委托不允许外部程序直接为委托赋值(会将已添加的委托丢掉)。 使用方法 .Net事件模型 这里借助一个熟悉的例子讲
阅读全文
摘要:泛型的定义 百度百科:泛型将 类型参数 的概念引入 .NET Framework, 类型参数 使得设计如下类和方法成为可能:这些类和方法将一个或多个类型的指定推迟到客户端代码声明并实例化该类或方法的时候。(也就是说类型可以当作参数在 类型声明 和类型实例化 或函数调用时传递类型)。 增大了代码复用性
阅读全文
摘要:值类型和引用类型 1. 栈(stack)是一种先进后出的数据结构,在内存中,变量会被分配在栈上来进行操作。 2. 堆(heap)是用于为引用类型的实例(对象)分配空间的内存区域,在堆上创建一个对象, 会将对象的地址传给栈上的变量。 值类型 当声明一个值类型的变量的时候的时候,变量本身包含了值类型的全
阅读全文