Enterprise Library 3.0 体验(1):集成VS2005的配置工具和配置区加密支持

摘要:在圣诞节来临之前,微软模式与实践小组发布了Enterprise Library 3.0 2006 December CTP版本,本文简单的介绍一下Enterprise Library 3.0集成到VS2005的配置工具和对配置区的加密支持以及对标准AppSetting配置区的支持。

 

主要内容

1.集成到VS2005中的配置工具

2.配置区加密支持

3.对标准AppSetting配置区的支持

 

一.集成到VS2005中的配置工具

Enterprise Library 3.0之前的两个版本,配置工具都是作为一个单独的应用程序,我也曾经介绍过一款把Enterprise Library配置工具集成到VS中的插件(Enterprise Library 2.0 插件介绍:Avanade Integration Pack)。这次发布的Enterprise Library 3.0直接把配置工具集成在了VS.NET中,可以非常方便的进行应用程序块的配置。安装后,配置文件默认的打开方式就是Enterprise Library Configuration Editor(如图1)。

1

直接在Visual Studio 2005 中进行操作(图2):

2

在属性窗口中设置参数(图3):

3

是不是比单独打开一个配置工具要方便多了呢?

二.配置区加密支持

Enterprise Library 3.0还有一个最大的特色在于对配置区数据的加密,通过一个简单的属性配置就可以对任何一个应用程序块的配置区进行加密,如图4所示:

4

使用XML Editor打开配置文件,可以看到,配置区的都已经是加密过的(图5):

5

三.对标准AppSetting配置区的支持

Enterprise Library 3.0中,通过配置工具,我们可以创建和修改标准的AppSetting,在之前的版本中,我们对于自定义的AppSetting都需要手工到配置文件中去修改,现在可以通过可视化的配置工具进行管理AppSetting了,如图6所示,我们新建一个UpLoadPath

6

使用XML Editor打开配置文件,可以看到里面增加了一条:

<appSettings>
  
<add key="UpLoadPath" value="http://localhost:8080/UpLoad" />
</appSettings>


本文简单介绍了一下Enterprise Library 3.0配置工具的一点新特性。

作者:TerryLee
出处:http://terrylee.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
posted @ 2006-12-24 19:21 TerryLee 阅读(19201) 评论(42) 编辑 收藏

 回复 引用 查看   
#1楼[楼主] 2006-12-24 19:25 TerryLee      
祝园子里各位朋友圣诞快乐:)
 回复 引用   
#2楼 2006-12-24 19:31 ocean2000[匿名][未注册用户]
谢谢terrylee的圣诞小礼包;)
 回复 引用 查看   
#3楼[楼主] 2006-12-24 19:33 TerryLee      
@ocean2000[匿名]
呵呵,圣诞快乐:)

 回复 引用 查看   
#4楼 2006-12-24 20:00 木野狐      
Merry Christmas!
 回复 引用 查看   
#5楼[楼主] 2006-12-24 20:19 TerryLee      
@木野狐

3q~~~

Merry Christmas!

 回复 引用   
#6楼 2006-12-24 21:53 mian[未注册用户]
Merry Christmas!
支持!

 回复 引用 查看   
#7楼[楼主] 2006-12-24 22:10 TerryLee      
@mian
谢谢!

圣诞快乐!

 回复 引用 查看   
#8楼 2006-12-24 22:47 Tseng      
谢谢Terry在平安夜给大家的这个小礼物.

我准备在项目中用EL了.

 回复 引用 查看   
#9楼 2006-12-24 23:07 Jeffrey Zhao      
呵呵,其实早该这样了。:)
 回复 引用 查看   
#10楼[楼主] 2006-12-24 23:21 TerryLee      
@Tseng
客气了,圣诞快乐!

//还是先用EL2.0吧,3.0现在的CTP版本在其他几个已有的应用程序块上没变化,除了DAAB增加了一个小功能之外;而新增加的验证应用程序块还不是很完善:)

 回复 引用 查看   
#11楼[楼主] 2006-12-24 23:23 TerryLee      
@Jeffrey Zhao

Merry Christmas!

是啊,3.0中配置工具终于有些变化了,不过现在CTP版本对于其他的应用程序块没什么变化:)

 回复 引用 查看   
#12楼 2006-12-25 08:27 老刘.      
来的有点晚,TerryLee 圣诞快乐,大家圣诞快乐:)
 回复 引用 查看   
#13楼[楼主] 2006-12-25 08:32 TerryLee      
@老刘.
谢谢!

老刘圣诞快乐:)

好勤奋!
 回复 引用 查看   
#15楼[楼主] 2006-12-25 14:26 TerryLee      
@zhaosichao[匿名]
微软今年发布的东西太多了,不学习可能跟不上了:)

 回复 引用 查看   
#16楼 2006-12-25 17:19 Tseng      
@TerryLee
装完EL3.0之后,我发现我的配置文件不能用那个配置工具打开(Open with里面已经有“Enterprise Libraly Configuration Editor (default)”了),因为我的VS2005是装在D盘,它死认C盘,不知道在哪里更改?

 回复 引用 查看   
#17楼[楼主] 2006-12-25 21:19 TerryLee      
@Tseng
这个安装之后是不是不能修改了,我也没找到修改的位置-_-

 回复 引用   
#18楼 2007-01-22 13:40 xlx[未注册用户]
@TerryLee

我的意思是对<connectionStrings>段的加密,也就是数据库连接参数的加密码

这样可以吗?

(此问题困惑了我好久了)

 回复 引用 查看   
#19楼 2007-01-23 16:21 TSENG      
@xlx
当然可以,用Enterprise Library Configuration工具就非常方便地为你做到。
选Data Access Application Block--Protection,有两种加密方式.

 回复 引用 查看   
#20楼[楼主] 2007-01-23 22:53 TerryLee      
@xlx
可以啊

 回复 引用   
#21楼 2007-01-25 11:48 中华宝[未注册用户]
@TerryLee
你好,对配置区加密,如果换到另一台没有安装Enterprise Library 3.0的机子,是不是读不出加密后的配置信息?我刚才试了一下,使用DataProtectionConfigureProvide,换到别的机子抛出异常说“无法解密”。我又试了RSA也是不行。请帮忙解答,谢谢!

 回复 引用   
#22楼 2007-02-09 09:42 一凡[未注册用户]
楼主:在别的机器上运行就会出现这个错误: 打不开RSA密钥容器
为什么呀

跟 众吉网信 是一样了


 回复 引用   
#23楼 2007-02-09 11:32 一凡[未注册用户]
楼主:3.0是不是不成熟呀!!!以前的版本是不是也是这样的呀
 回复 引用   
#24楼 2007-02-12 18:37 jlzhou
同志们,郑重地向大家宣布,这还是CTP预览版,3月份才会出正式版。
 回复 引用   
#25楼 2007-04-09 10:03 joseph[未注册用户]
LZ:我用3.0对配置区加密後,在代碼中怎樣解密,調用Databasefactory.CreateDatabase呢?
 回复 引用   
#26楼 2007-04-14 13:38 一凡[未注册用户]
楼主在别的机器上怎么会出现:
未能使用提供程序“dataprotectionConfigurationprovide" 进行解密

 回复 引用   
#27楼 2007-04-14 13:59 一凡[未注册用户]
我说老大怎么都没回信呀!!
 回复 引用   
#28楼 2007-04-14 14:43 一凡[未注册用户]
加密需要添加引用吗
 回复 引用   
#29楼 2007-06-13 23:37 塞月编程[未注册用户]
DPAPI和RSA的用法是无法直接这样在开发机上加密然后放服务器的。
DPAPI是对称加密,加密解密用同一密匙。RSA是非对称加密,用公匙加密,用私匙解密。
DPAPI简单,适合于本机开放,本机部署,原因是DPAPI基于本机设置,生成秘匙,而移植到其他机器就会有问题。所以如果你要用DPAPI,就在服务器上生成你的密文好了,反正也很容易写。
RSA适合Web Farm部署,不是因为RSA可以随意部署,而是RSA的私匙,可以通过aspnet_regiis导出来到XML文件上,然后每台服务器只要把秘匙再引入就可以了。
RSA还需要把ASPNET运行帐户,在每台电脑上注册进秘匙容器。否则服务器可能会拒绝程序使用秘匙。

RSA加密使用aspnet_regiis。

 回复 引用 查看   
#30楼 2007-12-27 15:02 秀才      
楼主辛苦
 回复 引用   
#31楼 2007-12-29 14:17 Jonson[未注册用户]
我最近用enterprise library.遇到一个问题是这样的.
1. data access application block 中RsaProtectedConfigurationProvider进行加密后.得到解密的字符串有点问题
通过asp.net2.0中的程序得到正确的是对的.

 回复 引用 查看   
#32楼 2010-01-13 11:14 Mingle      
碰到和16楼同样的问题!