代码改变世界

随笔分类 -  .net2008

ASP.NET自定义输出缓存提供程序

2012-04-09 23:02 by 马伟, 615 阅读, 收藏, 编辑
摘要: 我们知道,自从ASP.NET 发布以来,页输出缓存使开发人员能够把由网页、控件及HTTP响应等生成的输出内容存储到内存中。这样一来,在后面的Web请求时,系统能够从内存检索这些生成的输出内容而不是从头开始重新生成输出,从而使ASP.NET可以更迅速地提供内容,在性能上得到了很大的提高。但是,这种方法确有一个限制:即生成的内容一定要存储在内存中。这样一来,服务器将承受巨大流量带来的压力,输出缓存消耗的内存与来自Web应用程序的其他部分的内存需求之间导致严重冲突。 针对上述情况,ASP.NET 4针对输出缓存增加了一个扩展点,它能够使你可以配置一个或多个自定义输出缓存提供程序。输出缓存提供程序可. 阅读全文

<<易学C#>>全书目录

2009-10-13 23:44 by 马伟, 1241 阅读, 收藏, 编辑
摘要: 经过一年之久的创作,我的新书终于出版了,目录如下: 预备课:学习从这里开始 1 1.软件=程序+文档 1 2.程序起什么作用 2 3.为何要面向对象 2 4.什么是UML 3 5..NET与C# 4  谈微软公司的.NET战略 4  C#的产生与特点 5  C#与.NET的关系 6 6.开启C#的钥匙——兴趣与正确的学习方法 7 7.习题练习 8 .......................................... 阅读全文

用C#编程合并多个WORD文档

2009-09-26 17:46 by 马伟, 4694 阅读, 收藏, 编辑
摘要: 今天因为客户需要,需要将多个WORD文档合并成为一个WORD文档。其中,对WORD文档的合并方式分两种形式: 一是复制合并; 一是插入合并,即将多个文档按照先后顺序合并到另一个文档中. 阅读全文

荣获2009年“微软最有影响力开发者”

2009-03-25 20:49 by 马伟, 2870 阅读, 收藏, 编辑
摘要: 今天无意中收到微软“最有影响力开发者”礼包,这比起博客园的其他兄弟虽然不算什么,但这毕竟是我第一次得到微软的称号,还是值得纪念一下。 “最有影响力的开发者”,您好很高兴能够通过“最有影响力的开发者”这个项目将微软最新的技术资源与您一同分享。第一期技术资源我们已经随此次“最有影响力的开发者欢迎礼包”一同邮... 阅读全文

[转载]C/C++编译器-cl.exe的命令选项

2009-03-16 15:09 by 马伟, 4291 阅读, 收藏, 编辑
摘要: 和在IDE中编译相比,命令行模式编译速度更快,并可以避免被IDE产生的一些附加信息所干扰。本文将介绍微软C/C++编译器命令行模式设定和用法。 阅读全文

[易学C#]C#3.0语言新特性

2009-03-13 21:42 by 马伟, 1828 阅读, 收藏, 编辑
摘要: 大家都知道,微软的脚步一向比较快。在微软发布Visual Studio 2005和C#2.0之后,又马不停蹄的展示了人们所期望的C#的下一代版本:C# 3.0。其实,在2008年中,大部分公司已经尝试着将自己的开发环境转向Visual Studio 2008和C#3.0,下面我们就来总结一下C#3.0相关新特性: [易学C#]C#3.0语言新特性之隐式类型 [易学C#]C#3.0语言... 阅读全文

[易学C#]C#3.0语言新特性之Lambda表达式

2009-03-12 08:38 by 马伟, 5625 阅读, 收藏, 编辑
摘要: 在C#2.0中引入了匿名方法,允许在期望出现委托的时候以“内联”的代码替代之。尽管匿名方法提供了函数式编程语言中的很多表达能力,但匿名方法的语法实在是太罗嗦了,并且很不自然。Lambda表达式为书写匿名方法提供了一种更加简单、更加函数化的语法。 实际上Lambda表达式的本质是匿名方法,也即是当编译我们的程序代码时,编译器会自动帮我们将Lambda表达式转换为匿名方法。 阅读全文

[易学C#]C#3.0语言新特性之对象和集合初始化器

2009-03-10 21:09 by 马伟, 1720 阅读, 收藏, 编辑
摘要: 在C#3.0中,一个对象创建表达式可以包含一个对象或集合初始化器,用于初始化新创建的对象的成员或新创建的集合的元素。 对象创建表达式: new type (argument-list(可选)) 对象或集合初试化器(可选) new type 对象或集合初试化器 一个对象创建表达式可以省略构造器参数列表,并将其连同圆括号一起替换为一个对象或集合初始化器。省略构造器参数列表并将其连同圆括号一起替换为一个对象或集合初始化器等价于指定一个空的参数列表。 在执行一个带有对象或集合初始化器的对象创建表达式时,首先调用实例构造器,然后执行对象或集合初始化器指定的成员或元素初始化。对象或集合初始化器不能引用正在初始化的对象实例。 阅读全文

[易学C#]C#3.0语言新特性之扩展方法

2009-03-09 23:04 by 马伟, 2019 阅读, 收藏, 编辑
摘要: 当我们需要对已有类的功能进行扩展时,我们通常会想到继承,继承已有类,然后为其加入新的行为。而C# 3.0中加入的扩展方法(Extension Methods)特性,则提供了另一种实现功能扩展的方式。 扩展方法是一种特殊的静态方法,它定义在一个静态类中,但可以在其他类的对象上像调用实例方法那样进行调用。因此,通过扩展方法,我们就可以在不修改一个类型的前提下对一个类型进行功能上的扩充,这种方法并不会产生新的类型,而是采用向已有类中加入新方法的方式来完成功能扩展;同时,也可以将一些近似的类型中近似的功能同一实现在一个类中,便于阅读和维护。从最终效果上看,扩展方法使得扩展一个现有类型和构造一个具有附加方法的类型变成了现实。 阅读全文

[易学C#]C#3.0语言新特性之匿名类型

2009-03-08 16:01 by 马伟, 4580 阅读, 收藏, 编辑
摘要: 上面我们向读者讲解了隐式类型,接下来我们继续来讨论C#3.0另一个新特性:匿名类型。 阅读全文

[易学C#]C#3.0语言新特性之隐式类型

2009-03-08 00:11 by 马伟, 1914 阅读, 收藏, 编辑
摘要: 在C#3.0中增加了一个变量声明var,这个声明和JavaScript 的var类似,但也有不同。相同之处是它可以用var来声明任何类型的局部变量;而不同之处在于它仅仅负责告诉编译器,该变量需要根据初始化表达式来推断变量的类型,而且只能是局部变量。 阅读全文

[讨论]程序之路在何方?

2009-03-07 12:04 by 马伟, 2559 阅读, 收藏, 编辑
摘要: 曾经何时,在那个DOS与Windows的年代,汇编与C/C++横行天下,无人可比!与此同时,汇编与C/C++程序员无疑成为新的IT时代的弄潮儿,呼风唤雨。 在这之间,也不怎么的,突然有一天,有一个叫Linus的家伙静悄悄地搞出个Linux来,经过几年的开源的发展,终成气候,誓与Windows争霸天下。当然,因为它的开源性,不知不觉冒出了许多版本的Linux来。这时候Windows/Linux/Un... 阅读全文

用C#解决Oracle9i和Oracle10g字符集不兼容的问题

2008-07-08 14:59 by 马伟, 845 阅读, 收藏, 编辑
摘要: 前段时间,我应公司派遣去云南给南方电网开发一个电力分析系统。因为我们的系统主要作用是统计计算和数据分析,所以本身并不采集基础数据,基础数据都是从别的第三方系统采集而来。还好的是大部分系统的数据采集都是通过WEB服务的方式,当时只有一家系统要求我们直接从他们的数据库里去读取(呵呵,这在电力部门一般是不被允许的,毕竟数据需要安全吗),大概是人家不愿意写接口吧。本来对于我们来说直接去数据库读... 阅读全文

重拾 DirectX 一:配置Visual Studio 2008+Microsoft DirectX SDK (June 2008) 开发环境

2008-07-04 10:32 by 马伟, 3785 阅读, 收藏, 编辑
摘要: 几年前,我曾经搞了一小段时间DirectX开发,但最后因为工作的原因还是放弃了.直到今天,出于兴趣的原因,我又翻开DirectX的第一页....  好了,我还是直接进入主题:  首先是安装Microsoft DirectX SDK . 然后选择工具-选项,打开选项框.    最后选展开“项目和解决方案”,选择“VC++目录”,在右边的界面中有一个“显示以下内容的目录”下拉选择框,分别配置其中“包含文件”和“库文件”。  如:"D:\Program Files\Microsoft DirectX SDK (June 2008)\Include"和"D:\Program Files\Microso 阅读全文