代码改变世界

随笔分类 -  [01].NET技术

艾伟:.NET : 如何保护内存中的敏感数据?

2011-08-29 00:02 by 狼人:-), 297 阅读, 收藏,
摘要: 我们程序的威胁来自于各个方面.在互联网高度发达的今天, 安全性问题已经是企业软件开发所必须面对的最重要的问题. 从安全学的一般意义上来讲,安全性主要体现在两个方面: 敏感数据的泄露 敏感数据的破坏 从具体上来说, .NET 元数据机制的设计, 既方便了反射等强大特性的实现, 又同时给代码安全及程序运行时安全带来了巨大的隐患.迄今为止, 还未发现比较有效元数据可见性控制方法. 当然, 这不在本文的讨论范围之内. 我还是更愿意在这篇文章在针对.NET的内存分配机制讨论一个更具体的问题: 如何保护在内存中存储的敏感数据? String的驻留机制带来的安全性问题 String是代码中使用频率... 阅读全文

艾伟:[WCF的Binding模型]之四:信道工厂(Channel Factory)

2011-08-29 00:02 by 狼人:-), 231 阅读, 收藏,
摘要: 由于信道管理器在客户端和服务端所起的不同作用,分为信道监听器和信道工厂。和服务端的信道监听其相比,处于客户端的信道工厂显得简单。从名称就可以看得出来,信道工厂的作用就是单纯的创建用于消息发送的信道。我们先来看看与信道工厂相关的一些接口和基类的定义。 一、信道工厂相关的接口和基类 对于信道监听器,WCF定义了两个接口:IChannelListener和IChnnelListener。与之相对地,WCF也为信道工厂定义了两个接口:IChannelFactory和IChannelFactory。这两个接口定义了信道工厂最基本的功能和属性,下面是这两个接口的定义: Code highlighti... 阅读全文

艾伟:[WCF的Binding模型]之三:信道监听器(Channel Listener)

2011-08-29 00:02 by 狼人:-), 177 阅读, 收藏,
摘要: 信道管理器是信道的创建者,一般来说信道栈的中每个信道对应着一个信道管理器。基于不同的消息处理的功能,将我们需要将相应的信道按照一定的顺序能组织起来构成一个信道栈,由于信道本身是由信道管理器创建的,所以信道对应的信道管理器也构成一个信道管理器栈,栈中信道管理器的顺序决定由它所创建信道的顺序。 对于WCF的信道层来说,信道管理器在服务端和客户端扮演着不同的角色,服务端的信道管理器在于监听来自客户端的请求,而客户端的信道仅仅是单纯的创建用于消息发送的信道。因此,客户端的消息管理器又称为信道监听器(Channel Listener),客户端的信道管理器则成为信道工厂(channel factory.. 阅读全文

艾伟:[WCF中的Binding模型]之六(完结篇):从绑定元素认识系统预定义绑定

2011-08-29 00:02 by 狼人:-), 183 阅读, 收藏,
摘要: 由于绑定对象由一系列有序的绑定元素组成,绑定元素最终决定着信道栈中信道的组成,而信道的组成最终又决定了信道栈对消息进行处理的方式和能力,所有要确定绑定的特性和能力,我们可以通过查看其绑定元素的构成来一窥究竟。为此我们我们写了一个简单的方法,用于列出一个具体的绑定对象所有的绑定元素,在介绍一个个具体的系统绑定中,我会使用该方法: static void ListAllBindingElements(Binding binding){ BindingElementCollection elements = binding.CreateBindingElements(); for (in... 阅读全文

艾伟:WM有约(二):配置信息

2011-08-29 00:02 by 狼人:-), 162 阅读, 收藏,
摘要: Written by Allen Lee 添加配置文件 首先,向项目添加一个Options.xml文件,这个文件将会用来储存应用程序的配置信息: 图 1 接着,把Options.xml的Copy to Output Directory属性的值改为Copy if newer: 图 2 然后,就是为Options.xml添加配置信息了: 代码 1 那么,我们如何使用这个文件呢?关于这个问题,我首先想到的是为它创建一个OptionManager类,在我的想象里,它应该是这样使用的: 代码 2 在继续之前,我想请你思考一个问题:你会如何实现OptionMana... 阅读全文

艾伟:[WCF中的Binding模型]之一: Binding模型简介

2011-08-29 00:02 by 狼人:-), 146 阅读, 收藏,
摘要: 1. 信道层与服务模型层(Channel Layer and Service Mode Layer) 对于一个分布式应用的开发与设计来说,通信问题是不得不考虑,同时也是最为复杂、最难实现的问题。在过去的若干年中, 微软先后推出了一系列广受欢迎的通信技术, 比如DCOM、Enterprise Service、.NET Remoting、XML Web Service、MSMQ等等。这些技术提供了各自的编程模型,是开发人员从繁琐的完全基于通信的编程中解脱出来,使之仅仅需要关注具体的业务逻辑。WCF是所有的这些通信技术集大成者,它充分地整合了所有这些使用于不同领域、不同场景的通信技术,提供了一个统一 阅读全文

艾伟:为什么微软要推 ADO.NET Data Services Framework

2011-08-29 00:02 by 狼人:-), 199 阅读, 收藏,
摘要: 微软在 .NET 3.5 SP1 平台上,推了一组新的数据访问 Framework,叫做 ADO.NET Data Services。微软怕程序员太闲吗?为什么要创造 ADO.NET Data Services?Web Service 和 WCF 不就很好用了吗?本帖整理一些研讨会及网络上大内高手的观点,并提供一个可在 VS 2008 SP1 上执行的示例给大家下载参考;但本帖不提供 step by step 实作教学,因为网络上已经有一堆这种文章了 (参考本帖最下面的「参考文件」第 6、第 7 点的文章,照着用 VS 2008 + SP1 操作,即可达成本帖提供下载的示例)。 .... 阅读全文

艾伟:F4何去何从 --- 大视野观察Framework 4.0

2011-08-29 00:02 by 狼人:-), 192 阅读, 收藏,
摘要: Framework 4.0 CTP版发布一个多月了,在此期间稍有闲暇就打开来试试,尝试一下这个新东东。总体感觉微软现在技术大爆炸,一下子往F4里塞了好多东西,有的确实不错, 不过有的还是感觉有点粗糙,还经不起实战考验。那以下我会简单和大家过一遍这个新的框架,一起来聊聊F4的前景。 简单回顾下历史,F1.1其实是个试验品,.Net Framework真正走向成熟其实从F2开始的,之后的F3,F3.5其实都是基于F2的扩充,我个人感觉应该定义为F2.1,F2.2。没想到微软喜欢搞大跃进,随便加点东西就变个新版本。 F3+F3SP1除了修正了一些F2的bug之外,主要的扩展是加了3W框架,分别是W. 阅读全文

艾伟:Asp.Net 用户验证(自定义IPrincipal和IIdentity)

2011-08-29 00:02 by 狼人:-), 204 阅读, 收藏,
摘要: 源码下载:http://www.tracefact.net/SourceCode/FormsAuthentication.rar 引言 前 一段时间有两个朋友问我,为什么在HttpModule中无法获得到Session值,因为他们希望自定义一个HttpModule,然后在其中获取 Session来进行用户验证。我奇怪为什么不使用.Net Framework已经提供的验证机制,而要和Asp时一样,自己手工进行cookie+Session验证?我们是基于.Net Framework这个平台进行编程,所以我觉得,在很多情况下,使用Framework已经建立好的机制会显著地提高工作效率,而且.NE.. 阅读全文

艾伟:Remember: 我们是做产品的,不是搞学术研究的 & 用事实说话,不要臆断

2011-08-29 00:02 by 狼人:-), 126 阅读, 收藏,
摘要: 近来发现,有很多同事在设计Asp.Net Application时,选择用字符串拼Html文本而不用GridView等控件,原因居然是“Asp.Net太慢”。看来有必要再次明确一个本质问题:我们是做产品的,不是搞学术研究的;同时要强调一个习惯:要用事实去证明你的猜测,而不要臆断。 一、Remember:我们是做产品的,不是搞学术研究的 直接贴一个前阵子的一封邮件,“全在邮件里面了”: 发件人: 发送时间: 收件人: 主题: 答复: 关于WebService的性能损失 这个问题里面,缺少对用户场景的描述。 我认为,我们实际应该关心的并不是这两种方式的性能究竟差别有几倍,而是他们是否会... 阅读全文

艾伟:WM有约(一):你好,CF

2011-08-29 00:02 by 狼人:-), 166 阅读, 收藏,
摘要: Written by Allen Lee 来,和CF打个招呼! 在这个系列里,我将会使用Visual Studio 2008来创建Windows Mobile 6 Professional应用程序,如果你也想在自己的计算机上体验一下,那么请先安装Visual Studio 2008和Windows Mobile 6 Professional SDK。 图 1 创建一个新的项目,接着选择Visual C#\Smart Device\Smart Device Project项目模板,然后输入项目名称,最后单击OK打开Add New Smart Device Project对话框:... 阅读全文

艾伟:WCF从理论到实践(15):响应变化

2011-08-29 00:02 by 狼人:-), 126 阅读, 收藏,
摘要: 本系列文章导航WCF从理论到实践(1):揭开神秘面纱WCF从理论到实践(2):决战紫禁之巅WCF从理论到实践(3):八号当铺之黑色契约WCF从理论到实践(4):路在何方WCF从理论到实践(5):Binding细解WCF从理论到实践(6):WCF架构WCF从理论到实践(7):消息交换模式WCF从理论到实践(8):事件广播WCF从理论到实践(9):实例模式和对象生命周期WCF从理论到实践(10):异常处理WCF从理论到实践(11)-异步WCF从理论到实践(12):事务WCF从理论到实践(13):事务投票WCF从理论到实践(14):WCF解决方案模板WCF从理论到实践(15):响应变化WCF从理论到 阅读全文

艾伟:WCF从理论到实践(14):WCF解决方案模板

2011-08-29 00:02 by 狼人:-), 168 阅读, 收藏,
摘要: 本系列文章导航WCF从理论到实践(1):揭开神秘面纱WCF从理论到实践(2):决战紫禁之巅WCF从理论到实践(3):八号当铺之黑色契约WCF从理论到实践(4):路在何方WCF从理论到实践(5):Binding细解WCF从理论到实践(6):WCF架构WCF从理论到实践(7):消息交换模式WCF从理论到实践(8):事件广播WCF从理论到实践(9):实例模式和对象生命周期WCF从理论到实践(10):异常处理WCF从理论到实践(11)-异步WCF从理论到实践(12):事务WCF从理论到实践(13):事务投票WCF从理论到实践(14):WCF解决方案模板WCF从理论到实践(15):响应变化WCF从理论到 阅读全文

艾伟:WCF从理论到实践(17):OO大背离(带视频+ppt+源码)

2011-08-29 00:02 by 狼人:-), 248 阅读, 收藏,
摘要: 本系列文章导航WCF从理论到实践(1):揭开神秘面纱WCF从理论到实践(2):决战紫禁之巅WCF从理论到实践(3):八号当铺之黑色契约WCF从理论到实践(4):路在何方WCF从理论到实践(5):Binding细解WCF从理论到实践(6):WCF架构WCF从理论到实践(7):消息交换模式WCF从理论到实践(8):事件广播WCF从理论到实践(9):实例模式和对象生命周期WCF从理论到实践(10):异常处理WCF从理论到实践(11)-异步WCF从理论到实践(12):事务WCF从理论到实践(13):事务投票WCF从理论到实践(14):WCF解决方案模板WCF从理论到实践(15):响应变化WCF从理论到 阅读全文

艾伟:WCF从理论到实践(16):操作重载(带视频+ppt+源码)

2011-08-29 00:02 by 狼人:-), 180 阅读, 收藏,
摘要: 本系列文章导航WCF从理论到实践(1):揭开神秘面纱WCF从理论到实践(2):决战紫禁之巅WCF从理论到实践(3):八号当铺之黑色契约WCF从理论到实践(4):路在何方WCF从理论到实践(5):Binding细解WCF从理论到实践(6):WCF架构WCF从理论到实践(7):消息交换模式WCF从理论到实践(8):事件广播WCF从理论到实践(9):实例模式和对象生命周期WCF从理论到实践(10):异常处理WCF从理论到实践(11)-异步WCF从理论到实践(12):事务WCF从理论到实践(13):事务投票WCF从理论到实践(14):WCF解决方案模板WCF从理论到实践(15):响应变化WCF从理论到 阅读全文

艾伟:WPF中的Style(风格,样式)

2011-08-29 00:01 by 狼人:-), 213 阅读, 收藏,
摘要: 在WPF中我们可以使用Style来设置控件的某些属性值,并使该设置影响到指定范围内的所有该类控件或影响指定的某一控件,比如说我们想将窗口中的所有按钮都保持某一种风格,那么我们可以设置一个Style,而不必分别设置每个按钮的风格。Style是作为一种资源被保存下来的. 看下面的例子: <Window.Resources><StyleTargetType="Button"><SetterProperty="Foreground"Value="Blue"/><SetterProperty=" 阅读全文

艾伟:为WPF项目创建单元测试

2011-08-29 00:01 by 狼人:-), 197 阅读, 收藏,
摘要: 可能你已发现一个问题,我们无法使用VS对WPF项目创建单元测试(VS2005不行,VS2008我没试过,但据说也不行),这让人很郁闷,这里将介绍如何使用NUnit来对WPF项目创建单元测试并解决其中的难题(但利用NUnit来对WPF创建单元测试时并不会像针对.Net2.0一样容易,可能会出现一些小问题).1,对普通类(非WPF UI组件)进行测试:这和在.Net2.0中使用NUnit进行测试时一样,不会出现任何问题,参考下面的代码: [TestFixture]publicclassClassTest{[Test]publicvoidTestRun(){ClassLibrary1.Class1o 阅读全文

艾伟:闲话WPF之一(WPF的结构)

2011-08-29 00:01 by 狼人:-), 218 阅读, 收藏,
摘要: WPF进入我们的生活已经很多年。(写这句话让我想起来了“我不做大哥好多年”。) 个人认为在UI的实践中,用户需要的是易于操作的,更加绚丽的界面。这两个应该是最基本、也是最重要的宗旨。而对于开发人员就是要用最简单的方法开发出尽可能漂亮的界面,并且效率也不能太差。(要求是不是有些过分啦!)除了在一些Web开发和特殊的应用中,很少有开发组配备单独的美工,至少目前是这样吧!根据自己目前对WPF的了解程度,感觉WPF在其中某些方面确实有超强的震撼力。 客观上讲,Vista操作系统确实给我们带来了无可比拟的视觉效果。我自己深有体会,在近2个月的时间里每天都是在Vista下的开发,回家后看到XP系统,始终有 阅读全文

艾伟:WPF简介

2011-08-29 00:01 by 狼人:-), 226 阅读, 收藏,
摘要: WPF简介WPF的全称是Windows Presentation Foundation,是微软新发布的Vista操作系统的三大核心开发库之一,其主要负责的是图形显示,所以叫Presentation(呈现)。 作为新的图形引擎,WPF是基于DirectX的,当然增加了很多新的功能。其2D和3D引擎的强大看看Vista的界面就明白了,再加上其对Aero图形引擎的支持,更加让你刚到神奇。顺便提一下,Aero是专门为3D桌面开发的引擎,可以让桌面实现神奇的3D翻转,这绝对是操作系统有史以来的一次神奇尝试,虽然对硬件配置的要求也是惊人的,此前已有相关报道称,Vista对显卡十分挑剔就是出于运行Aero的 阅读全文

艾伟:Tip:自定义UpdatePanelTrigger

2011-08-29 00:01 by 狼人:-), 172 阅读, 收藏,
摘要: 大家在使用UpdatePanel的时候有没有遇到过这种情况呢? 页面上放置着3到4的UpdatePanel,它们互相独立,并且UpdateMode都是Condition,这意味着没有哪个UpdatePanel每次都会更新。大多数UpdatePanel都是由某个控件回发而更新,但是其中的一个例外。它没有哪个控件来触发它,它有自己的一套逻辑来判断是否更新。这段逻辑独立于其他控件。 理论上,这段逻辑可以放在页面的某个生命周期里进行判断,例如OnLoad。但是如果,这个判断甚至必须放在PreRenderComplete之后呢?再者,如果我们真的很想把判断是否更新的逻辑给独立与页面的生命周期... 阅读全文
上一页 1 ··· 46 47 48 49 50 51 52 53 54 ··· 56 下一页