黄聪

论SEO对人类的重要性,请看我的博客:hcsem.com

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2010年5月29日

摘要: 本章介绍的是企业库加密应用程序模块Cryptographyproviders中为对称加密配置Key文件的3种方式:create a new key : 使用一串字符串作为Key,然后通过加密保存到一个Key文件中.use an existing DPAPI-protected key file : 使用一个现有的Key文件进行配置.import a password-protected key file : 对导出的Key文件再进行一次Password加密.废话少说,现在就开始看看如何使用它们吧:一.Create a new key 1.运行EntLibConfig.exe,选择Blocks. 阅读全文
posted @ 2010-05-29 15:45 黄聪 阅读(9024) 评论(13) 推荐(14) 编辑

2010年5月28日

摘要: 企业库加密应用程序模块提供了2种方式让用户保护自己的数据:Hashingproviders: 离散加密法, 简单来说就是把你的信息保存到内存中后用一个离散值表示并返回给程序,这样在程序中只能看到离散值而不是明文,这样就起到简单的加密效果啦.Cryptographyproviders: 密钥加密法. 用对称加密方法对数据进行加密(尚未支持非对称加密).使用企业库加密应用程序模块的优势:减少了需要编写的模板代码,执行标准的任务,可以用它来解决常见的应用程序加密的问题.有助于维持一个应用程序内和跨企业的数据传输加密.允许管理员进行加密配置,包括使用组策略.可扩展,支持用户自定义加密技术.下面介绍如何 阅读全文
posted @ 2010-05-28 21:24 黄聪 阅读(12962) 评论(21) 推荐(10) 编辑

摘要: Caching Application Block 的基本架构如下所示,图中很清楚的写出了Cache Manager可以使用3中方式对数据进行缓存:1. Null backing store 存储策略 : 默认的存储策略,存储的数据只存储在内存的缓存中,并不持久保存, 它可用于所有支持的应用类型.适合于保存一些临时的数据,或者用于保存当你重启程序时不想要保存的一些数据.2. Isolated storage 存储策略 : 隔离存储策略适用于以下情况: 1.需要持久性的保存数据,访问用户较少. 2.没有数据库设备. 3.不想使用数据库这类开销较大的资源.3. Database Cache sto 阅读全文
posted @ 2010-05-28 01:22 黄聪 阅读(13363) 评论(26) 推荐(8) 编辑

2010年5月27日

摘要: 本篇文章具体官方解释请参照以下链接: http://msdn.microsoft.com/en-us/library/ff664753%28v=PandP.50%29.aspxMicrosoftEnterprise Library 5.0下载地址: http://www.microsoft.com/downloads/details.aspx?FamilyId=bcb166f7-dd16-448b-a152-9845760d9b4c&displaylang=enMicrosoftEnterprise Library 5.0 Documentation : http://entlib.c 阅读全文
posted @ 2010-05-27 01:09 黄聪 阅读(35641) 评论(45) 推荐(31) 编辑

2010年5月22日

摘要: 阅读全文
posted @ 2010-05-22 01:56 黄聪 阅读(1056) 评论(0) 推荐(1) 编辑

2010年5月21日

摘要: 文章出处: http://www.cnblogs.com/huangcong/archive/2010/05/21/1740539.html 请输入标有时候我们只希望在Excel中的某个单元格中只允许输入某几个限定的数据,这时候我们就可能希望把该单元格设置成为下拉框的形式了,如下图所示:下面就看看是怎么实现的吧.1.我们选择一个单元格--数据--数据有效性--数据有效性2.在设置框中输入如下设置:3.就可以达到我们想要的效果啦: 阅读全文
posted @ 2010-05-21 01:57 黄聪 阅读(3024) 评论(0) 推荐(0) 编辑

摘要: 文章出处: http://www.cnblogs.com/huangcong/archive/2010/05/21/1740528.html 请在使用Excel的时候可能我们希望只给用户控制部分单元格的权限,要怎么实现呢,可以跟着下面的教程实现:我们想实现的效果是:1.用户可以对[第一个数字],[第二个数字]进行编辑2.用户无权操作,查看[总和]单元格信息,包括编辑和查看公式.1.我们创建两个单元格用于输入求和数字,在总和单元格设置算法:2.选择[第一个数字]~[第二个数字]的单元格,右键--设置单元格格式--保护--去掉锁定,隐藏复选框.3.选择[总和]单元格--右键--设置单元格格式--保 阅读全文
posted @ 2010-05-21 00:51 黄聪 阅读(384) 评论(0) 推荐(0) 编辑

摘要: 文章出处http://www.cnblogs.com/huangcong/archive/2010/05/21/1740507.html 请输有时候我们想在一列输入每个月的月底日期,如下列所示:则我们可以通过下方操作实现:1.在第一行输入某个月的月底日期,我这里输入的是2009/1/31:2.按住右下角的控制柄,向下拉一些单元格,此时得到的是按日期递增的数据:3.这时我们点击右下角的自动填充按钮,选择[按月填充],就可以实现按每个月最后一天的方式递增了.最终结果: 阅读全文
posted @ 2010-05-21 00:12 黄聪 阅读(675) 评论(0) 推荐(0) 编辑

2010年5月19日

摘要: 想要实现的效果如下图:只要修改.csproj文件中相关属性即可:PS:不懂在VS图形界面下如何实现,等待大大们指点~~~~~ 阅读全文
posted @ 2010-05-19 01:56 黄聪 阅读(784) 评论(2) 推荐(1) 编辑

2010年5月18日

摘要: /// <summary> /// 对称加密算法类,使用系统自带的函数 /// </summary> public class SymmetricMethod { private SymmetricAlgorithm mobjCryptoService; private string Key; /// <summary> /// 对称加密类的构造函数 /// </summary> public SymmetricMethod() { mobjCryptoService = new RijndaelManaged(); Key = "Gu 阅读全文
posted @ 2010-05-18 22:16 黄聪 阅读(783) 评论(0) 推荐(1) 编辑

摘要: 1.获取Return返回值 程序代码//存储过程//Create PROCEDURE MYSQL// @a int,// @b int//AS// return @a + @b//GOSqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["LocalSqlServer"].ToString());conn.Open();SqlCommand MyCommand = new SqlCommand("MYSQL", conn);MyCommand.Comma 阅读全文
posted @ 2010-05-18 02:48 黄聪 阅读(961) 评论(0) 推荐(0) 编辑

2010年5月15日

摘要: 【摘要】 我们对自动化测试充满了希望,然而,自动化测试却经常带给我们沮丧和失望。虽然,自动化测试可以把我们从困难的环境中解放出来,在实施自动化测试解决问题的同时,又带来同样多的问题。在开展自动化测试的工作中,关键问题是遵循软件开发的基本规则。本文介绍自动化测试的 7 个步骤:改进自动化测试过程,定义需求,验证概念,支持产品的可测试性,具有可延续性的设计( design for sustainability ),有计划的部署和面对成功的挑战。按照以上 7 个步骤,安排你的人员、工具和制定你的自动化测试项目计划,你将会通往一条成功之路。一个故事 : 我在很多软件公司工作过,公司规模有大有小,也和来 阅读全文
posted @ 2010-05-15 20:39 黄聪 阅读(526) 评论(0) 推荐(0) 编辑

摘要: 【正文】①什么是反射?反射提供了封装程序集、模块和类型的对象。您可以使用反射动态地创建类型的实例(见④ ),将类型绑定到现有对象(这个不会),或从现有对象中获取类型(见②③ )。然后,可以调用类型的方法或访问其字段和属性。最最简单的反射:如下1usingSystem;2usingSystem.Reflection;3namespaceTestReflection4{5classProgram6{7staticvoidMain(string[]args)8{9//创建两个对象【object和Objetct好像没有区别啊??连提示都一样!】10objectA=newAX();11ObjectB=n 阅读全文
posted @ 2010-05-15 14:54 黄聪 阅读(518) 评论(0) 推荐(1) 编辑

摘要: 使用反射动态调用类成员,需要Type类的一个方法:InvokeMember。对该方法的声明如下(摘抄于MSDN):public object InvokeMember( string name, BindingFlags invokeAttr, Binder binder, object target, object[] args);参数name String,它包含要调用的构造函数、方法、属性或字段成员的名称。- 或 -空字符串 (""),表示调用默认成员。invokeAttr 一个位屏蔽,由一个或多个指定搜索执行方式的 BindingFlags 组成。访问可以是 Bin 阅读全文
posted @ 2010-05-15 14:11 黄聪 阅读(552) 评论(0) 推荐(1) 编辑

摘要: 1、 什么是反射2、 命名空间与装配件的关系3、 运行期得到类型信息有什么用4、 如何使用反射获取类型5、 如何根据类型来动态创建对象6、 如何获取方法以及动态调用方法7、 动态创建委托1、什么是反射 Reflection,中文翻译为反射。这是.Net中获取运行时类型信息的方式,.Net的应用程序由几个部分:‘程序集(Assembly)’、‘模块(Module)’、‘类型(class)’组成,而反射提供一种编程的方式,让程序员可以在程序运行期获得这几个组成部分的相关信息,例如: Assembly类可以获得正在运行的装配件信息,也可以动态的加载装配件,以及在装配件中查找类型信息,并创建该类型的实 阅读全文
posted @ 2010-05-15 14:09 黄聪 阅读(406) 评论(0) 推荐(2) 编辑

摘要: 反射是一种晚绑定,它可以被开发者用来设计出更具灵活性的代码,而代价则是花费更多的系统资源开销使得应用程序可以在运行时获取一些未知信息。说白了,在编写代码的时候,开发者可能还不知道或不能确定一些对象的信息,于是把决定权交给代码本身,将来在需要的时候由代码自己去获取和判断这些信息并作出相应的反应。这样的方式固然可以使代码更加灵活,但在想要使用反射的时候,必须先考虑好在性能与灵活之间的一个权衡,不能盲目地因为C#提供了反射机制就一个劲儿地用,我们应该发扬John Carmack“榨干PC机3D图像性能”的精神,而不要因为硬件越来越便宜就让机器背负沉重的包袱去做一些意义不大的事情。我们还是继续本系列一 阅读全文
posted @ 2010-05-15 14:08 黄聪 阅读(567) 评论(0) 推荐(1) 编辑

摘要: 转载:http://blog.163.com/enetcorner@126/blog/static/3980426820076261110709/反射的概述: 反射的定义:审查元数据并收集关于它的类型信息的能力。元数据(编译以后的最基本数据单元)就是一大堆的表,当编译程序集或者模块时,编译器会创建一个类定义表,一个字段定义表,和一个方法定义表等。 System.reflection命名空间包含的几个类,允许你反射(解析)这些元数据表的代码System.Reflection.Assembly System.Reflection.MemberInfoSystem.Reflection.EventI 阅读全文
posted @ 2010-05-15 14:07 黄聪 阅读(680) 评论(0) 推荐(1) 编辑

2010年5月14日

摘要: 数据库基础1.1 一个肤浅的定义什么是数据库?这是一个很难回答的问题,经典的教科书往往都是从信息、数据说起,直到数据库。这里我想直接给出一个不准确的,肤浅的定义(这也是最早的FoxBASE时代,绝大多数人对数据库的认识):【定义】:(1)一个库便是一张二维表格,表由表头(字段)与表的内容(记录)组成。(2)建立在该表上的操作主要包括:检索、插入、删除、更新。这个定义与现有数据库存在很大差异,但并不影响作为这部分内容的开端。从上面的定义中我们可以看到,数据库中记录信息的表与建立在表上的操作是密不可分的。另外,常见的库操作有四种:检索、插入、删除、更新。1.2 遭遇异常在这个原始的概念驱使下,很多 阅读全文
posted @ 2010-05-14 22:53 黄聪 阅读(567) 评论(0) 推荐(1) 编辑

摘要: 事件(event),这个词儿对于初学者来说,往往总是显得有些神秘,不易弄懂。而这些东西却往往又是编程中常用且非常重要的东西。大家都知道windows消息处理机制的重要,其实C#事件就是基于windows消息处理机制的,只是封装的更好,让开发者无须知道底层的消息处理机制,就可以开发出强大的基于事件的应用程序来。先来看看事件编程有哪些好处。在以往我们编写这类程序中,往往采用等待机制,为了等待某件事情的发生,需要不断地检测某些判断变量,而引入事件编程后,大大简化了这种过程:- 使用事件,可以很方便地确定程序执行顺序。- 当事件驱动程序等待事件时,它不占用很多资源。事件驱动程序与过程式程序最大的不同. 阅读全文
posted @ 2010-05-14 14:33 黄聪 阅读(590) 评论(1) 推荐(1) 编辑

2010年5月13日

摘要: 使用Loopup集合类管理相同键值的对象集Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Lookup{ class Program { static void Main(string[] args) { Person graham = new Person(& 阅读全文
posted @ 2010-05-13 15:23 黄聪 阅读(663) 评论(0) 推荐(0) 编辑