如何使用Microsoft Enterprise Library里面的Log功能
以VS2012里面建立的一个控制台程序为例
1. 安装Microsoft Enterprise Library里面的Logging Application模块。
在需要使用Log功能的项目上面右键,选择Manage NuGet Packeages...
2. 在Manage NuGet Packeages窗口里面找到Enterprise Library - Logging Application Block,然后安装
安装成功以后,项目引用中会增加两个新的引用。
3. 我们需要对App.config文件进行配置。在这里我们使用配置编辑工具:Microsoft.Practices.EnterpriseLibrary.ConfigConsoleV6.vsix。这个工具的下载地址:http://www.microsoft.com/en-us/download/details.aspx?id=38789
4. 配置App.config文件。右键App.config文件选择Edit configuration file v6,打开配置工具窗口。
5. 选择菜单命令Block -> Add Logging Settings
6. 在Logging Target Listeners里面点加号按钮,然后选择Add Rolling Flat File Trace Listener(生成可以进行自动分割的文本文件)。
7. 一般需要设置的参数有:Asynchronous(选true则进行异步log), File Exist Behavior(选), File Name, Formatter Name, Max Archived Files, Roll Interval, Roll Size KB。
其中Formatter Name的值从Log Message Formatters中生成的值中选取。
8. 生成 Message Format。在Log Message Formatters中点击加号按钮,选择Add Text Formatter
点击Template右侧的...按钮,打开Template Editor对话框,对Template的内容进行编辑
编辑后在App.config中生成的xml代码如下:
Logging formatter
9. 在窗口左侧区域中点击Cotegories右边的加号按钮。生成一个新的Category
10. 在新生成的Category区域中修改Name属性,然后点击Listeners右边的加号按钮,选择在Logging Target Listeners区域中已经生成的Listener。
11. 对已经进行的设置保
12. 写个简单的测试程序看看生成的Log效果如何
Microsoft.Practices.EnterpriseLibrary.Data.dll
主要来说就是数据库链接字符串配置利用了 .net 2.0 中 config 文件中,新增的 connectionStrings 配置节,不再像以前那样使用自己的链接字符串配置节。
范例:
下述就是基于 .net 2.0 的 企业库中,数据库应用Block 的一个配置信息
<add name="Connection String" connectionString="Database=Database;Server=(local)\SQLEXPRESS;Integrated Security=SSPI;"
providerName="System.Data.SqlClient" />
说明:
上面我们可以看到
connectionStrings 配置节是 .net 2.0 本身就具有的,我们在这里定义了实际的数据库链接字符串。
我们在configSections 中可以看到,我们新设了一个dataConfiguration配置节,这个节,我们来指定我们默认的数据库。
这样我们就可以在代码中如下创建默认的数据库:
Database db = DatabaseFactory.CreateDatabase();
当然也可以用
Database db = DatabaseFactory.CreateDatabase("Connection String");
后一个传入的参数,为你在配置文件中,定义的数据库链接字符串名字。
另外,在 dataConfiguration 配置节中,可以定义 providerMappings ,这部分跟 GenericDatabase 关系很大,后面Blog 详述。
GenericDatabase 用在没有特别指定用那种数据库的时候,GenericDatabase 可以简单的理解为通用数据库对象。
如何配置使用
一、使用方法:1、在页面中引入ckeditor核心文件ckeditor.js2、在使用编辑器的地方插入HTML控件如果是ASP.NET环境,也可用服务器端控件注意在控件中加上 class="ckeditor" 。3、将相应的控件替换成编辑器代码 CKEDITOR.replace('TextArea1'); //如果是在ASP.NET环境下用的服务器端控 件 CKEDITOR.replace('tbContent'); //如 果控件在母版页中,要这样写 CKEDITOR.replace('');4、配置编辑器 ckeditor的配置都集中在 ckeditor/config.js 文件中,下面是一些常用的配置参数: // 界面语言,默认为 'en' config.language = 'zh-cn'; // 设置宽高 config.width = 400; config.height = 400; // 编辑器样式,有三种:'kama'(默认)、'office2003'、'v2' config.skin = 'v2'; // 背景颜色 config.uiColor = '#FFF'; // 工具栏(基础'Basic'、全能'Full'、自定义)plugins/toolbar/plugin.js config.toolbar = 'Basic'; config.toolbar = 'Full'; 这将配合: config.toolbar_Full = [ ['Source','-','Save','NewPage','Preview','-','Templates'], ['Cut','Copy','Paste','PasteText','PasteFromWord','-','Print', 'SpellChecker', 'Scayt'], ['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'], ['Form', 'Checkbox', 'Radio', 'TextField', 'Textarea', 'Select', 'Button', 'ImageButton', 'HiddenField'], '/', ['Bold','Italic','Underline','Strike','-','Subscript','Superscript'], ['NumberedList','BulletedList','-','Outdent','Indent','Blockquote'], ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'], ['Link','Unlink','Anchor'], ['Image','Flash','Table','HorizontalRule','Smiley','SpecialChar','PageBreak'], '/', ['Styles','Format','Font','FontSize'], ['TextColor','BGColor'] ]; //工具栏是否可以被收缩 config.toolbarCanCollapse = true; //工具栏的位置 config.toolbarLocation = 'top';//可选:bottom //工具栏默认是否展开 config.toolbarStartupExpanded = true; // 取消 “拖拽以改变尺寸”功能 plugins/resize/plugin.js config.resize_enabled = false; //改变大小的最大高度 config.resize_maxHeight = 3000; //改变大小的最大宽度 config.resize_maxWidth = 3000; //改变大小的最小高度 config.resize_minHeight = 250; //改变大小的最小宽度 config.resize_minWidth = 750; // 当提交包含有此编辑器的表单时,是否自动更新元素内的数据 config.autoUpdateElement = true; // 设置是使用绝对目录还是相对目录,为空为相对目录 config.baseHref = '' // 编辑器的z-index值 config.baseFloatZIndex = 10000; //设置快捷键 config.keystrokes = [ [ CKEDITOR.ALT + 121 /*F10*/, 'toolbarFocus' ], //获取焦点 [ CKEDITOR.ALT + 122 /*F11*/, 'elementsPathFocus' ], //元素焦点 [ CKEDITOR.SHIFT + 121 /*F10*/, 'contextMenu' ], //文本菜单 [ CKEDITOR.CTRL + 90 /*Z*/, 'undo' ], //撤销 [ CKEDITOR.CTRL + 89 /*Y*/, 'redo' ], //重做 [ CKEDITOR.CTRL + CKEDITOR.SHIFT + 90 /*Z*/, 'redo' ], // [ CKEDITOR.CTRL + 76 /*L*/, 'link' ], //链接 [ CKEDITOR.CTRL + 66 /*B*/, 'bold' ], //粗体 [ CKEDITOR.CTRL + 73 /*I*/, 'italic' ], //斜体 [ CKEDITOR.CTRL + 85 /*U*/, 'underline' ], //下划线 [ CKEDITOR.ALT + 109 /*-*/, 'toolbarCollapse' ] ] //设置快捷键 可能与浏览器快捷键冲突 plugins/keystrokes/plugin.js. config.blockedKeystrokes = [ CKEDITOR.CTRL + 66 /*B*/, CKEDITOR.CTRL + 73 /*I*/, CKEDITOR.CTRL + 85 /*U*/ ] //设置编辑内元素的背景色的取值 plugins/colorbutton/plugin.js. config.colorButton_backStyle = { element : 'span', styles : { 'background-color' : '#(color)' } } //设置前景色的取值 plugins/colorbutton/plugin.js config.colorButton_colors = '000,800000,8B4513,2F4F4F,008080,000080,4B0082,696969,B22222,A52A2A,DAA520, 006400,40E0D0,0000CD,800080,808080,F00,FF8C00,FFD700,008000,0FF,00F,EE82EE, A9A9A9,FFA07A,FFA500,FFFF00,00FF00,AFEEEE,ADD8E6,DDA0DD,D3D3D3,FFF0F5, FAEBD7,FFFFE0,F0FFF0,F0FFFF,F0F8FF,E6E6FA,FFF’ //是否在选择颜色时显示“其它颜色”选项 plugins/colorbutton/plugin.js config.colorButton_enableMore = false //区块的前景色默认值设置 plugins/colorbutton/plugin.js config.colorButton_foreStyle = { element : 'span', styles : { 'color' : '#(color)' } }; //所需要添加的CSS文件 在此添加 可使用相对路径和网站的绝对路径 config.contentsCss = './contents.css'; //文字方向 config.contentsLangDirection = 'rtl'; //从左到右 //CKeditor的配置文件 若不想配置 留空即可 CKEDITOR.replace( 'myfiled', { customConfig : './config.js' } ); //界面编辑框的背景色 plugins/dialog/plugin.js config.dialog_backgroundCoverColor = '#fffefd'; //可设置参考 config.dialog_backgroundCoverColor = 'white' //默认 //背景的不透明度 数值应该在:0.0~1.0 之间 plugins/dialog/plugin.js config.dialog_backgroundCoverOpacity = 0.5 //移动或者改变元素时 边框的吸附距离 单位:像素 plugins/dialog/plugin.js config.dialog_magnetDistance = 20; //是否拒绝本地拼写检查和提示 默认为拒绝 目前仅firefox和safari支持 plugins/wysiwygarea/plugin.js. config.disableNativeSpellChecker = true //进行表格编辑功能 如:添加行或列 目前仅firefox支持 plugins/wysiwygarea/plugin.js config.disableNativeTableHandles = true; //默认为不开启 //是否开启 图片和表格 的改变大小的功能 config.disableObjectResizing = true; config.disableObjectResizing = false //默认为开启 //设置HTML文档类型 config.docType = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd%22' ; //是否对编辑区域进行渲染 plugins/editingblock/plugin.js config.editingBlock = true; //编辑器中回车产生的标签 config.enterMode = CKEDITOR.ENTER_P; //可选:CKEDITOR.ENTER_BR或CKEDITOR.ENTER_DIV //是否使用HTML实体进行输出 plugins/entities/plugin.js config.entities = true; //定义更多的实体 plugins/entities/plugin.js config.entities_additional = '#39'; //其中#代替了& //是否转换一些难以显示的字符为相应的HTML字符 plugins/entities/plugin.js //默认的字体名 plugins/font/plugin.js config.font_defaultLabel = 'Arial'; //字体编辑时的字符集 可以添加常用的中文字符:宋体、楷体、黑体等 plugins/font/plugin.js config.font_names = 'Arial;Times New Roman;Verdana'; //文字的默认式样 plugins/font/plugin.js config.font_style = { element : 'span', styles : { 'font-family' : '#(family)' }, overrides : [ { element : 'font', attributes : { 'face' : null } } ] }; //字体默认大小 plugins/font/plugin.js config.fontSize_defaultLabel = '12px'; //字体编辑时可选的字体大小 plugins/font/plugin.js config.fontSize_sizes ='8/8px;9/9px;10/10px;11/11px;12/12px;14/14px;16/16px;18/18px;20/20px;22/22px;24/24px;26/26px;28/28px;36/36px;48/48px;72/72px' //设置字体大小时 使用的式样 plugins/font/plugin.js config.fontSize_style = { element : 'span', styles : { 'font-size' : '#(size)' }, overrides : [ { element : 'font', attributes : { 'size' : null } } ] }; //是否强制复制来的内容去除格式 plugins/pastetext/plugin.js config.forcePasteAsPlainText =false //不去除 //是否强制用“&”来代替“&”plugins/htmldataprocessor/plugin.js config.format_p = { element : 'p', attributes : { class : 'normalPara' } }; //对PRE标签自动进行格式化 plugins/format/plugin.js config.format_pre = { element : 'pre', attributes : { class : 'code' } }; //用分号分隔的标签名字 在工具栏上显示 plugins/format/plugin.js config.format_tags = 'p;h1;h2;h3;h4;h5;h6;pre;address;div'; //是否使用完整的html编辑模式 如使用,其源码将包含:等标签 config.fullPage = false; //是否忽略段落中的空字符 若不忽略 则字符将以“”表示 plugins/wysiwygarea/plugin.js config.ignoreEmptyParagraph = true; //在清除图片属性框中的链接属性时 是否同时清除两边的标签 plugins/image/plugin.js config.image_removeLinkByEmptyURL = true; //一组用逗号分隔的标签名称,显示在左下角的层次嵌套中 plugins/menu/plugin.js. config.menu_groups ='clipboard,form,tablecell,tablecellproperties,tablerow,tablecolumn,table,anchor,link,image,flash,checkbox,radio,textfield,hiddenfield,imagebutton,button,select,textarea'; //显示子菜单时的延迟,单位:ms plugins/menu/plugin.js config.menu_subMenuDelay = 400; //当执行“新建”命令时,编辑器中的内容 plugins/newpage/plugin.js config.newpage_html = ''; //当从word里复制文字进来时,是否进行文字的格式化去除 plugins/pastefromword/plugin.js config.pasteFromWordIgnoreFontFace = true; //默认为忽略格式 //是否使用等标签修饰或者代替从word文档中粘贴过来的内容 plugins/pastefromword/plugin.js config.pasteFromWordKeepsStructure = false; //从word中粘贴内容时是否移除格式 plugins/pastefromword/plugin.js二、 一些使用技巧1、在页面中即时设置编辑器 // 示例1:设置工具栏为基本工具栏,高度为70 CKEDITOR.replace('', { toolbar:'Basic', height:70 }); //示例2:工具栏为自定义类型 CKEDITOR.replace( 'editor1', { toolbar : [ //加粗 斜体, 下划线 穿过线 下标字 上标字 // 样式 格式 字体 字体大小 ['Styles','Format','Font','FontSize'], //文本颜色 背景颜色 ['TextColor','BGColor'], //全屏 显示区块 ['Maximize', 'ShowBlocks','-'] ] } );三、精简ckeditor 在部署到Web服务器上时,下列文件夹和文件都可以删除: /_samples :示例文件夹; /_source :未压缩源程序; /lang文件夹下除 zh-cn.js、en.js 以外的文件(也可以根据需要保留其他语言文件); 根目录下的 changes.html(更新列表),install.html(安装指向),license.html(使用许可); /skins 目录下不需要的皮肤,一般用V2(简单,朴素) ,如果只保留V2则必须在config.js中指定皮肤。四, 版本问题 在CKEditor的官方网站上下载,最要下载全部功能,最后得到的压缩包是ckeditor_4.1.1_full.zip,如果选择simple或者standed,可能会有些功能不能用,比如字体颜色,背景颜色,这下功能在standed版本里面就不支持。所以你会很奇怪明明设置了['TextColor','BGColor'],但是文本颜色和背景颜色选项就是不显示。五,去掉默认的段落标记去除CKEditor自动添加的
标签的方法,其实很简单,有两种办法:1.在ckeditor目录下的config.js添加以下配置参数即可:config.enterMode = CKEDITOR.ENTER_BR: 屏蔽换行符config.shiftEnterMode = CKEDITOR.ENTER_P:屏蔽段落
2.直接更改编辑器默认模式为源代码模式,在ckeditor目录下的config.js添加以下配置:config.startupMode = 'source';六,和kcfinder搭配使用默认情况下CKEditor是没有上传图片功能的,可以在编辑器中粘贴图片,这样的话保存在数据库中的是图片的源文件,这很容易出现问题,即使字段是text格式的也很容易就超出最大范围了,所以要配合kcfinder来上传文件。一个是ck一个是kc真实一对好兄弟。要注意如果kcfinder的路径放在CKEditor的同一级目录下不能这样config.filebrowserBrowseUrl = '/kcfinder/browse.php?type=files'; 要注意为安全考虑默认情况下是不允许上传图片的,在自己的源代码中要设置可以上传,代码如下session_start();if(!empty($_SESSION['USERNAME'])&&!empty($_SESSION['PASSWORD'])){$_SESSION['KCFINDER']['disabled'] = false;}else{echo "top.location.href="http://xxx.com/login.php"> }这个就是判断是否是登陆用户,不是登陆用户的话不可以使用,并且跳转到登陆界面去登陆,网上有人说把这个放在kcfinder\config.php这个kcfinder的配置文件中我发现这个是行不通的。这样设置之后在选择上传图片的时候会有错误
如何使用微软企业库对数据库的访问
数据访问应用程序块简化了许多公共的数据访问任务,例如用于显示的数据读取,通过应用程序层(application layers)来传递数据,及提交变更数据给数据库系统。它提供存储过程与内联SQL两种支持,将数据以对象序列的形式公开让客户端查询,也通过使用便利的类提供ADO.NET中最常使用的功能, 可以提高应用程序的开发效率。同时除了简化开发以外,它使得你可以创建一种provider独立的应用,可以很容易的更换不同的数据提供源。在大多数情况下,除非你在代码中指定了数据库类型,剩下的就是更改配置文件中的连接字符串配置节就可以了。不需要你修改代码中的sql查询和存储过程及其参数。模块也支持多个操作的事务,如果失败的话,可以回滚。
vb程序保存变量到ini
私人声明函数GetPrivateProfileString解放“KERNEL32”别名?“GetPrivateProfileStringA”(BYVAL lpApplicationName作为字符串,BYVAL lpKeyName为已任,BYVAL lpDefault作为字符串,BYVAL lpReturnedString作为字符串,BYVAL n大小一样长,BYVAL lpFileName的对象作为字符串),只要
>私人声明函数WritePrivateProfileString解放“KERNEL32”别名?“WritePrivateProfileStringA”(BYVAL lpApplicationName作为字符串,BYVAL lpKeyName为已任,BYVAL lpString为已任,BYVAL lpFileName的对象作为字符串),只要
私人小SetIniS( BYVAL SectionName作为字符串,ByVal关键字作为字符串,BYVAL ValStr作为字符串)
昏暗RES%
RES%= WritePrivateProfileString(SectionName,关键字,ValStr,“C:\ 1.ini”)
末次
专用功能GetIniS(BYVAL SectionName作为字符串,ByVal关键字作为字符串,BYVAL DefString作为字符串)作为字符串
昏暗llLen只要
昏暗ResultString作为字符串
ResultString =空间(100)
llLen = GetPrivateProfileString(SectionName,关键字,DefString,ResultString,100,“C:\ 1.ini”)
GetIniS = MID(ResultString,1,llLen)
结束功能
SetIniS上面的代码编写,GetIniS被读取。 ini文件路径为“C:\ 1.ini”),你可以
怎样将VB中一些变量设置至INI或写进注册表,方便改程序的情况下可以重新设置其参数
自己总结自用的函数,个人感觉很好用,望采纳!
Public Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Public Static Function GPPFS(AppName As String, KeyName As String, Optional DefaultValue As String, Optional ByVal lpFileName, Optional Buffer As Long = 1024) As String
Dim f As String
If lpFileName "" Then f = lpFileName
GPPFS = String(Buffer, 0)
GetPrivateProfileString AppName, KeyName, DefaultValue, GPPFS, Buffer, f
GPPFS = Left(GPPFS, InStr(GPPFS, vbNullChar) - 1)
End Function
未能加载文件或程序集
把这个文件复制到你的项目中 Microsoft.Practices.EnterpriseLibrary.Data
你看一下你机子上这个有没有。
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\ocm\99fc6340\9aca469e\assembly\dl3\b45c2a3f\23b02b5d_86dece01
文件我已经邮件发给你了,你查收一下。
未能加载文件或程序集,具体如下
把这个文件复制到你的项目中 Microsoft.Practices.EnterpriseLibrary.Data
你看一下你机子上这个有没有。
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\ocm\99fc6340\9aca469e\assembly\dl3\b45c2a3f\23b02b5d_86dece01
文件我已经邮件发给你了,你查收一下。
文件不完整。
“/”应用程序中的服务器错误,急啊!!!
我也遇到这种情况,我之前在公司可以上的一个网站,但回到家就出现这个提示,也找了很多答案,都没有解决。今天我碰运气竟然搞定了,我推荐这个方法。
就是通过“遨游”阅览器,在标题栏那里有“工具”选项,点出下拉框,选择“代理服务器”,选择“使用高级代理规则”,然后点击你要看的网站,就可以打开了,不再出现这个提示。
我看了其他阅览器,包括IE浏览器、还有internet explorer的浏览器,工具中上有代理服务器设置,但是不知道怎么弄,就遨游的浏览器设置比较方便。
不知道这个方法对你有没有用。试下无妨。
高分求救!Asp.net无法识别的属性“xmlns”
配置错误 说明: 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。 分析器错误信息: 无法识别的属性“xmlns”。
源错误: 行 1: xmlns=”http://schemas.microsoft.com/.NetConfiguration/v2.0〃>
行 2:
行 3: 后来研究发现,原来是框架解析的问题,因为站点程序开发用的是framework 2.0编译运行的.
而服务器上现在虽然客户也装上了framework2.0,但是由于,是iis没有注册asp.net2.0 而仍然是1。1的。
解决办法非常简单:
在CMD下进入C:\WINDOWS\Microsoft.NET\Framework\v2.0.50215目录中运行
aspnet_regiis.exe -i
.net最常用的架构有哪些?
最长用的还是三层架构。1. UI Tier(User Interface, 用户接口层) 表示层完成向用户展示界面,提供进一步操作的“驱动接口”,例如按钮,并显示结果。 2. Business Tier(商业层) 完成数据加工,提供加工后的数据给表示层,或者数据层。又可以分为 BLL(Business Logic Layer, 商业逻辑)和DAL(Data Access Layer, 数据访问)。DAL负责存取数据,BLL负责对DAL层操作,对数据进行运算和操作。BLL也负责响应表示层的事件。 3. Data Tier(数据层) 完成数据存储功能。可能是数据库、数据源、XML、文本文件等。 这样就把 数据、业务、显示 分开了。UI层只负责显示给用户看,至于数据怎么处理运算,由BLL进行并响应,处理完的数据,怎么存取由DAL层进行,数据怎么存在介质上由Data层完成,DAL就不用管。各层之间相对比较独立,物理依赖性就不那么高了,有时候就只需要编译改动过的层。 一般对开发和设计人员来说,只需要对UI, BLL, DAL 进行设计开发,DATA Tier由OS或者DBMS来进行,你只需要按“格式”来存取数据即可。 “三层结构的程序不是说把项目分成DAL, BLL, WebUI三个模块就叫三层了, 下面几个问题在你的项目里面: 1. UILayer里面只有少量(或者没有)的SQL语句或者存储过程调用, 并且这些语句保证不会修改数据? 2. 如果把UILayer拿掉, 你的项目还能在Interface/API的层次上提供所有功能吗? 3. 你的DAL可以移植到其他类似环境的项目吗? 4. 三个模块, 可以分别运行于不同的服务器吗?