Microsoft patterns & practices
January 2005
© 2005 Microsoft Corporation. All rights reserved.
翻译:Rickie Lee (rickieleemail#yahoo.com)
这里简单翻译了Microsoft patterns & practices Enterprise Library中附带的Enterprise Library Release Notes文档,中文内容仅供参考。译文中错误或不准确之处,欢迎指出。Thanks。
******
本文提供了关于Microsoft Enterprise Library的最近信息,不包含在线的最终用户文档。
1.安装和卸载
1.1 卸载Enterprise Library Beta版本
在你安装Enterprise Library正式版本之前,你必须卸载先前安装的Beta版本。Enterprise Library Beta版本包含将Enterprise Library assemblies(程序集)装载到GAC(Global Assembly Cache)的选项,当卸载Enterprise Library程序时,这些assemblies并不会自动删除,需要使用GACUTIL.EXE工具手动删除。
1.2 卸载过程中没有删除文件夹和文件
Enterprise Library的卸载程序没有删除Enterprise Library编译的assemblies,也没有删除你在Enterprise Library目录中创建的文件。在你卸载Enterprise Library之后,你必须手工删除Enterprise Library目录。
2.Application Blocks
2.1 Logging and Instrumentation Application Block: 在错误消息记入日志后,缺省的接收器(sink)不清除错误消息
当Logging and Instrumentation Application Block试图将日志条目写入特定的目标时发生异常,Application Block会将异常信息写入缺省的日志池中。在异常信息写入缺省的日志池后,日志条目消息并没有清除。这意味着如果Application Block的配置文件指定额外的目标接受原始的日志条目,该异常信息也将写入到这些目标地。
2.2 Logging and Instrumentation Application Block: 缺省情况下不安装MSMQ Distributor Service(MSMQ分发服务)
MSMQ Distributor Service运行在作为日志条目目标的机器上,这些日志条目将写入MSMQ接收器。当日志条目接受到MSMQ后,MSMQ分发服务负责处理并路由日志条目到Logging and Instrumentation Application Block。缺省情况下不安装MSMQ Distributor Service(MSMQ分发服务),你可以执行如下的步骤来安装该服务:
(1)如果你想安装MSMQ Distributor Service在不同于安装Enterprise Library的机器上,你需要复制MsmqDistributor.exe, MsmqDistributor.exe.config, 和 loggingDistributorConfiguration.config等文件到目标机器上。在编译Enterprise Library之后(注:安装过程中默认编译Enterprise Library),可以在bin目录找到上述文件。(可以使用bin目录下的文件安装上述服务;服务将运行在安装有Enterprise Library的机器上)。为了MSMQ Distributor Service能正确运行,目标机器必须有安装Message Queuing(也称为MSMQ)。
(2)打开Visual Studio命令行,并切换到第一步中复制文件的目标目录。
(3)在命令行窗口运行如下命令:
installutil /i MsmqDistributor.exe
(4)当弹出窗口(注:Set Service Login对话框)时,输入用来运行该服务的帐户的用户名和密码。用户名必须以domain\username的形式。(注:如果不是domain内帐户,可以使用YourComputerName\administrator或.\administrator的形式)
(5)运行服务。服务以手动启动的形式安装,你可以使用Windows Services Management Console管理控制台来启动服务。
2.3 Logging and Instrumentation Application Block: MSMQ Distributor Service需要与应用程序相关设置的配置文件
MSMQ Distributor Service的缺省配置文件不包含服务的分发设置,这些设置与你的应用程序相关。这意味着你必须使用Configuration Console(配置控制台)为MSMQ Distributor Service创建合适的设置。执行如下的步骤来为你的应用程序配置MSMQ Distributor Service:
(1)使用文本编辑器打开MsmqDistributor.exe.config配置文件,删除配置文件loggingConfiguration节,并保存该文件。
删除如下Section:
<configurationSection name="loggingConfiguration" encrypt="false">
<storageProvider xsi:type="XmlFileStorageProviderData" name="XML File Storage Provider" path="loggingConfiguration.config" />
<dataTransformer xsi:type="XmlSerializerTransformerData" name="Xml Serializer Transformer">
<includeTypes />
</dataTransformer>
</configurationSection>
(2)使用Configuration Console(配置控制台)打开MsmqDistributor.exe.config配置文件,该文件和MsmqDistributor.exe文件在相同目录。关于包含上述文件的目录可以查阅2.2。
(3)右击Distributor Settings配置节点,点击New,然后点击MSMQ Distributor Service。这将在配置树(Configuration Tree)中增加MSMQ Distributor Service节点。
(4)点击MSMQ Distributor Service节点,显示该节点的配置设置。
(5)(可选)改变MsmqPath属性值,该值必须匹配client端应用程序的MSMQ Distribution Strategy配置中指定的队列名称。
2.4 Data Access Application Block: Default Oracle cursor cur_OUT(缺省Oracle游标cur_OUT)
Oracle的managed provider需要你在你的参数集合中显示绑定你的引用游标,这意味着你必须在你的应用程序代码中为游标显式创建一个output参数。然而,对于不需要游标参数的数据库系统而言,这些代码不具有移植性。Oracle数据库允许你创建不指定游标的命令,它将为执行存储过程并不带游标output参数的命令创建一个名为cur_OUT的游标。这意味着你可以命令你的引用游标为cur_OUT,Data Access Application Block将为你绑定它;你不必为游标显式创建output参数。如果你的存储过程(stored procedure)使用一个不是cur_OUT的游标,你必须为命令中每一个游标显式增加一个参数。相似地,如果你的存储过程中包含多个游标,你必须为命令中每一个游标显式增加参数。
2.5 Configuration Application Block: ConfigurationChangedEventArgs的ConfigurationFile属性
ConfigurationChangedEventArgs包含ConfigurationFile属性,该属性包含配置文件改变后的文件名。如果配置文件被一个应用程序使用Configuration Application Block的WriteConfiguration方法修改,则ConfigurationFile属性将包含配置元数据文件(configuration metadata file)的名称。如果application block配置被外部修改(例如,通过文本编辑器),ConfigurationFile属性将包含application block配置文件的名称。
3.配置工具
3.1 规则名称不能在Rule Expression编辑器中修改
当一个新的规则增加到Security Application Block中Authorization Rule Provider的配置信息中时,显示的Rule Expression编辑器包含一个规则名称的文本框。在这个文本框中改变规则名称没有效果。你可以通过如下的步骤来改变规则名称:
右击配置树中的Rule节点,点击Rename,然后输入新的名称。
3.2 你不能够添加多个分发策略(distribution strategies)到Logging and Instrumentation Application Block的Client Settings中
配置工具允许你添加多个定制分发策略到Logging and Instrumentation Application Block的配置中。如果配置已经包括一个分发策略,它不允许你增加In Process或MSMQ分发策略。为了创建一个In Process或MSMQ分发策略,你必须首先删除所有现存的分发策略,然后增加合适的分发策略。
3.3 删除Application Block的configuration section节点不会删除application block节点
配置工具为configuration section创建configuration节点,并为每一个增加到application configuration中application block创建一个application block相关的configuration节点。当相关的configuration section的configuration节点删除时,Configuration控制台不删除application block的configuration节点。使用Configuration控制台时,在保存application configuration之前,你必须删除application block的configuration节点。
4.QuickStarts
4.1 Logging and Instrumentation QuickStart
Logging and Instrumentation QuickStart中使用的Trace目录没有在配置文件中定义。发送到这一目标的日志条目将使用缺省的General目录来记录。