自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (3)
  • 收藏
  • 关注

转载 SQL Server的四种隔离级别知识点

SQL Server的四种隔离级别知识点

2016-08-25 17:12:00 1041

翻译 SQL Server 性能调优 之执行计划(Execution Plan)调优

SQL Server 性能调优 之执行计划(Execution Plan)调优

2014-06-19 15:53:24 4277

翻译 何时使用 Parallel.ForEach,何时使用 PLINQ

何时使用 Parallel.ForEach,何时使用 PLINQ

2014-06-17 15:55:32 2889

原创 Docker 启动时 预配置 RabbitMQ

在 Docker 环境中运行 RabbitMQ 时,许多场合希望预定义一些用户/vhost/queue。官方的教程都是通过 GUI 或者命令行来实现,民间也有通过自定义 RabbitMQ 镜像的方法,但操作性都比较繁杂。本文提供一种更简便的方法。

2023-02-15 16:25:39 504

原创 Fuslogvw.exe (Assembly Binding Log Viewer)

Fuslogvw.exe (Assembly Binding Log Viewer)

2017-09-04 14:55:54 619

翻译 利用 ActionFilter 为 ASP.NET Web API 添加 GZip 压缩功能

摘要内容不能为空!

2017-04-13 16:28:50 1533

翻译 WPF async异步处理中实现 UI thread 的绑定同步

wpf BindingOperations.EnableCollectionSynchronization

2016-08-05 15:47:17 2845

翻译 .NET 调用方信息的获取

某些场景需要获取当前执行的实时信息(行号,文件名,方法名),c# 在 .NET Frameworks 4.5 中 System.Runtime.CompilerServices 命名空间下新增了3个attribute:CallerLineNumber, CallerFilePath, CallerMemberName 来简化这些信息的获取。

2016-08-05 14:08:17 429

翻译 在 Linq 中使用 AsParallel 时自定义分块(Partitioners)

IEnumerable<T> 接口上有 AsParallel 方法,Partitioner 类上也提供了这个方法,使用这个类我们可以自定义分块的建立。首先你可以在 System.Collections.Concurrent 命名空间中找到这个类,他提供了一个 Create 方法,第一个参数接受一个数组或者实现 IList<T>的对象,第二个参数是个 Boolean 类型的参数。根据不同的传入参数,该

2016-08-05 10:15:44 2168

翻译 Javascript 基础点

Javascript 基础点

2015-03-13 10:30:50 475

翻译 Javascript 继承篇

Javascript 继承篇

2015-03-12 16:22:53 507

翻译 Javascript 之 Prototype

JavaScript 中的 Prototype 属性

2015-03-10 13:54:47 613

转载 最佳 .NET 资源清理策略

class FileDealer: IDisposable{ //定义一个访问文件资源的Win32句柄 private IntPtr fileHandle; //定义引用的托管资源 private ManagedRes managedRes; //定义构造器,初始化托管资源和非托管资源 public FileDealer(IntPtr ha

2014-12-01 16:42:45 497

翻译 SQL Server 性能调优4 之书写高效的查询

限制查询的行和列来提高性能这条规则非常简单,这里就不细说了。使用搜索可参数化判断(sargable conditions)来提高性能Sargable 由 Search ARGument Able 简写而来,字面意思是搜索可参数化?还是比较晦涩哎...总之使用Sargable判断可以帮助查询优化器更有效地利用索引,并提高采用 index seek 的可能性,我们先把所有的操作符分

2014-07-08 10:41:28 1472

翻译 SQL Server 性能调优3 之索引(Index)的维护

前言前一篇的文章介绍了通过建立索引来提高数据库的查询性能,这其实只是个开始。后续如果缺少适当的维护,你先前建立的索引甚至会成为拖累,成为数据库性能的下降的帮凶。查找碎片消除碎片可能是索引维护最常规的任务,微软官方给出的建议是当碎片等级为 5% - 30% 之间时采用 REORGANIZE 来“重整”索引,如果达到 30% 以上则使用 REBUILD 来“重建”索引。决定采用何种手段和操

2014-07-03 10:28:52 2411

翻译 SQL Server 性能调优2 之索引(Index)的建立

前言索引之关系数据库中最重要的对象之一,他能显著减少磁盘I/O及逻辑读取的消耗,并以此来提升 SELECT 语句的查找性能。但它是一把双刃剑,使用不当反而会影响性能:他需要额外的控件来存放这些索引信息,并且当数据更新时需要一些额外开销来保持索引的同步。形象的来说索引就像字典里的目录,你要查找某一个字的时候可以根据它的比划/拼音先在目录中找到对应的页码范围,然后在该范围中找到这个字。如果没有

2014-07-01 19:44:46 2502

原创 VC 调用托管程序集(.Net Managed Assemblies)

前言.Net 类库功能非常全面分装了大量应用级别的API,所以有时会有在VC 中调用托管程序集(.Net Managed Assemblies) 的需求。本文通过示例对该步骤进行说明,并提供一些参考。前提本文假设已有一个现成可用的托管程序集,代码如下:// 媒体类:用来载入一个媒体文件,并解析出信息public class Media{ // 内部处理 private vo

2013-06-03 13:42:21 1587

翻译 .NET Reflection optimization 反射优化

原文地址:http://www.codeproject.com/Articles/503527/Reflection-optimization-techniques简介反射是 Microsoft .NET framework 中非常强大的特性,它在 System.Reflection 命名空间中提供了一整套在运行时动态载入/处理程序集的 API。反射 (Reflection) 如此强大

2013-05-30 16:01:45 1750

翻译 .NET 调用 Win32 API

原文地址:http://www.codeproject.com/Articles/9714/Win32-API-C-to-NET.NET 调用 API 声明格式VB.NETDeclare Function Lib () As ' Example:Declare Function FormatMessage Lib "kernel32" Alias "FormatMessag

2013-05-29 10:34:21 1036

翻译 CLR via C# 读书笔记目录

一口气写了CLR via C# 两章的笔记,有些内容自己也似懂非懂,有些则觉得很好很强大,所以趁此机会作个目录同时为每篇文章打个评分: 纯理论,无聊有参考价值,可看有实用价值,必看CLR via C# 读书笔记1-1: 托管模块 (Managed Modules)定义CLR via C# 读书笔记1-2:程序集(Assemblies)定义CLR via C# 读书笔记1-3

2013-05-24 10:33:18 790

翻译 CLR via C# 读书笔记2-7

简单的管理控制 (配置)用户能够使用一个配置文件来控制程序的运行, CLR 会读取其中的内容来调整定位/载入程序集的策略。这些配置文件以 XML 格式书写,并与某个程序/机器进行关联。使用一个独立的配置文件(而不是注册表)使得这些设定能够更容易的分发。这里先举个实际应用的例子:计划配布的产品目录:AppDir directory (产品根目录)|- Program.exe|-

2013-05-24 09:43:02 697

翻译 CLR via C# 读书笔记2-6

Culture程序集包含有 culture 信息,并作为其标示的一部分,程序集能被限定为某一特定的 culture (German, US English 等等),Culture 使用一个字符串(RFC 1766)来标示。通常一个仅包含源代码的程序集,并不包含特定的 culture 信息,所以也就不需要特别指定,这样的程序集是中性 culture (culture neutral)的。

2013-05-23 11:46:55 616

翻译 CLR via C# 读书笔记2-5

程序集的版本资源信息使用 AL.exe 或 CSC.exe 生成的程序集都会包含一个标准 Win32 版本资源,通过查看这个文件的属性可以查看该信息,也可以在程序代码中调用System.Diagnostics.FileVersionInfo 的静态方法 GetVersionInfo 来查看。图 2-4 显示了之前生成的 MultiFileLibrary.dll 属性对话框:可以通过设定

2013-05-23 10:15:21 723

翻译 CLR via C# 读书笔记2-4 追记

使用程序集连接器 (Assembly Linker)除了使用 C# 编译器,你也可以使用 Assembly Linker 工具(AL.exe)来作成包含多个模块(这些模块可以是不同开发语言编译器编译的产物)的程序集。通过这种方法能够生成纯资源程序集 (术名: satellite assemblies),专门用来对应本地化。再次拿前文生成MultiFileLibrary.dll的例子来说明,这次

2013-05-22 14:29:26 672

翻译 CLR via C# 读书笔记2-4

从模块到程序集前文的 Program.exe 不仅是一个包含元数据的 PE 文件,也是一个程序集。所谓的程序集是一个或多个包含类型定义或资源的文件的集合。程序集中的一个文件被用来存放 manifest,这个 manifest 是另一个元数据表的集合,其中包含了程序集中所有文件的名称,以及程序集的版本,culture,发布者,公有类型等信息。CLR 处理程序及时,总是首先打开这个程序集中的 ma

2013-05-22 11:15:40 892

翻译 CLR via C# 读书笔记2-3

初识元数据(Metadata)前文已经介绍过,编译后生成的托管文件包含4 部分内容:PE32(+) 头,CLR 头,元数据以及 IL 代码。metadata 是一块包含若干个表的二进制数据,这些标分为3 种类别: 定义表(definition tables), 参照表(reference tables) 以及 manifest 表。表 2-1 列出了一些常见的定义表:表2-1 常见

2013-05-20 14:56:20 776

翻译 CLR via C# 读书笔记2-2

把类型编译成一个模块先假设有这么一个简单的程序:public sealed class Program { public static void Main() { System.Console.WriteLine("Hi"); }}该程序定义一个名为 Program 的类型,它拥有一个公有静态 (public, static) 方法 Main,该方法参照 System.

2013-05-20 13:35:00 627

翻译 CLR via C# 读书笔记2-1

.NET Framework 开发的目标原先的Windows程序有以下3个不足:采用的 dynamic-link libraries (DLLs) 方式在升级后经常对已有程序造成影响,被戏称为 “DLL hell”。 安装一个程序的时候总是会影响到整个系统(比如:目录,注册表,快捷方式等等),这使得一个程序并不是一个单独的个体,从而无法简便的备份该程序也无法简单地从一台电脑迁移到另一台

2013-05-13 16:18:56 571

翻译 CLR via C# 读书笔记1-9

与非托管代码的互操作CLR 提供3种与非托管代码的交互方案:■ 托管代码通过使用 P/Invoke 机制 来调用DLL文件中的非托管函数许多 FCL 中定义的类型内部都有调用到 Kernel32.dll, User32.dll 等等文件中的函数。同时许多程序语言会提供托管代码调用非托管代码的简便途径,比如 C# 程序能够直接调用 从Kernel32.dll 导出的 CreateSema

2013-05-13 11:47:13 602

翻译 CLR via C# 读书笔记1-8

通用语言规范 Common Language SpecificationCLR 继承了多种语言,并允许不同语言之间的对象能互操作,这是因为 CLR 建立了一套类型,metadata (自描述), 以及通用运行环境的标准。但是不同的语言之间差异还是相当大,比如有的区分大小写,有的却不;有的支持有的 unsigned 整形值, 运算符重载, 可变的参数数目等等,有的却不。Microsoft

2013-05-10 17:06:15 754

翻译 CLR via C# 读书笔记1-7

通用类型系统 Common Type System (CTS)CLR 中的各种类型扮演了最终要的角色,它们决定了一种程序语言与另一种程序语言交互的机制。基于此点 Microsoft 建立一个规范—通用类型系统 Common Type System (CTS)—它描述了类型怎样定义及行为。PS: Microsoft 已经向 ECMA 提交了 CTS (连同 .NET Framework 中的

2013-05-10 15:04:18 677

翻译 CLR via C# 读书笔记1-6

.NET Framework 类库.NET Framework 类库 (FCL),以及Microsoft 提供的其他类库(Windows Azure SDK, DirectX SDK 等)都包含了许许多多的类型,帮助开发者更便捷地建立各种类型的程序集:■ Web services ■ Web Forms/基于MVC HTML 的应用程序 (网站) ■ Windows GUI 程序

2013-05-10 14:14:30 647

翻译 CLR via C# 读书笔记1-5

本地代码生成器: NGen.exeNGen.exe 能把 IL 代码变异为本地代码,这使得在运行时 CLR 的 JIT 编译器不需要在运行时编译 IL 代码从而提高运行效率。NGen.exe 适用以下两个场景:■ 提高程序的启动速度■ 降低程序的 working set (当你的程序集会被多个进程适用的时候) NGen.exe 有这个作用的原因是它把编译后的本地代码存放在一个独立文

2013-05-10 13:36:34 671

翻译 CLR via C# 读书笔记1-4 追记

IL 的验证IL 提升了程序的强壮性和安全性,当IL 转换成本地 CPU 指令时, CLR 会进行一个验证的处理。这个验证处理保证了 IL 代码所干的事情是安全的。比如:每个被调用方法的参数是匹配的,返回值被正确使用,函数结尾有 return 语句等等。在 Windows 中每个进程都有其自己的虚拟地址空间,这样设计的初衷是防止一个进程错误的读写到另一个进程的内存空间而引起的安全性问题。

2013-05-10 11:25:00 714

翻译 CLR via C# 读书笔记1-4

运行程序集代码托管程序集由 metadata 和 IL 组成,IL 是一种不依赖 CPU 的机器语言,相对大多数的 CPU 机器语言来说,它属于高级语言。它可以建立/初始化对象,调用虚拟方法,直接操作数组,甚至进行错误捕获等,你可以把它看作一种面向对象的机器语言。IL 与其他机器语言一样可以被写成程序集语言 (assembly language),Microsoft 提供了两个工具 ILA

2013-05-07 15:10:15 620

翻译 CLR via C# 读书笔记1-3

载入 Common Language RuntimeCLR 负责托管代码的执行,所以在运行的机器上必须安装有.NET Framework。可以通过在 %SystemRoot%\System32 目录中是否存在 MSCorEE.dll 文件来判断.NET Framework 是否已经安装。特殊情况同一台机器上可能安装了多个版本的.NET Framework,你可以瞧一下这两个目录:%Syst

2013-05-06 13:58:28 651

翻译 CLR via C# 读书笔记1-2

托管模块集成在程序集(Assemblies)中CLR 实际上并不处理模块,它处理程序集。程序集是一个或多个模块/资源文件的集合,也是最小的可复用,安全性,版本化的最小单位。根据你选择的编译器,你可以生成一个或多个程序集。在 CLR 的概念中,这称之为组件(component)。插图 1-2 将帮助你理解程序集到底是什么。托管模块和资源文件经过一个工具的处理集成为程序集,这个工具生成一个 P

2013-05-02 10:40:50 525

翻译 CLR via C# 读书笔记1-1

CLR via C# 读书笔记1-1把源代码编译为托管模块 (Managed Modules)进行开发之前,你首先需要选择你擅长的语言。某些时候这很难抉择,因为不同的开发语言提供不同的开发特性。例如:非托管 C/C++ 提供了操作系统非常底层的控制权,你能够随心所欲地管理内存,轻而易举地建立线程,等等。 相反的 Microsoft Visual Basic 6.0 让你能快速的开发 UI

2013-04-28 10:52:33 742

翻译 在 Visual Studio 中调试 MSBuild 脚本

原文地址: Debugging MSBuild script with Visual Studio 调试步骤在开始之前,先打开 Visual Studio 的设定,确认 "Just My Code" 被勾上: 调试前准备首先在注册表 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\4.0 的位置下建立一个 debugger

2013-04-23 14:52:48 1541

Windows Runtime via C#

Windows Runtime via C#

2015-05-15

Introduction to the Insides of PDF

Introduction to the Insides of PDF PDF 文件格式说明简介,附带例子

2015-01-27

When To Use Parallel-ForEach Or PLINQ.pdf

怎样选择并行处理:选择Parallel.ForEach 还是 PLINQ ?

2014-06-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除