Loading

摘要: 树的2个事件代码如下,通过节点的tag判断是否禁用节点前的复选框.树的节点加载时设置要禁用的节点tag为-1,不禁用的则设为相关的值private void treeListPer_CustomDrawNodeCheckBox(object sender, DevExpress.XtraTreeList.CustomDrawNodeCheckBoxEventArgs e) { //TreeListNode listNode = sender as TreeListNode; if (e.Node.Tag.ToString()=="-1"... 阅读全文
posted @ 2012-06-26 10:03 jevan 阅读(1611) 评论(0) 推荐(0) 编辑
摘要: CheckBoxes 为真代码如下using System.Runtime.InteropServices;#region 树的复选框隐藏 private const int TVIF_STATE = 0x8; private const int TVIS_STATEIMAGEMASK = 0xF000; private const int TV_FIRST = 0x1100; private const int TVM_SETITEM = TV_FIRST + 63; [StructLayout(LayoutKind.Se... 阅读全文
posted @ 2012-06-26 09:59 jevan 阅读(748) 评论(0) 推荐(0) 编辑
摘要: 最近修改了一下.可以更方便的用在各个窗体上了代码也简洁很多.直接引用一下就能使用不过只处理了窗口的左上右三个方向 .下边没处理/// <summary> /// 窗口停靠隐藏类 /// 使用方法 /// private FormDock formDock = null; /// formDock = new FormDock(this,300); /// </summary> public class FormDock { #region 自定义声明 /// <summary> /// 定义计时器 ... 阅读全文
posted @ 2012-06-26 09:44 jevan 阅读(2233) 评论(1) 推荐(0) 编辑
摘要: /// <summary> /// 加密/解密类 /// </summary> public class EncAndDec { //加密/解密钥匙 const string KEY_64 = "jzw7tz8g";//注意了,是8个字符,64位 const string IV_64 = "tvbzn9i7";//注意了,是8个字符,64位 const string ClientLocal_KEY_64 = "xinxinwb"; const string ClientLocal_IV... 阅读全文
posted @ 2012-06-26 09:38 jevan 阅读(3917) 评论(0) 推荐(0) 编辑
摘要: 要使用一个Dev下拉框控件的ToolTip功能,找了半天没有ToolTip这个属性,而是换成了SuperTip属性,而且用法还和普通控件的用法不太一样a56爆大奖在线娱乐要实现像图片中效果,当鼠标放在毕业办理批次上时会显示a56爆大奖在线娱乐框里的内容SuperTip可以在设计时直接写上,也可以用代码实现SuuperTip分为Title,Contents,Footerd三个部分,a56爆大奖在线娱乐部分中间还可以用分割线分开实现上面的效果代码如下://声明一个SuerToolTipDevExpress.Utils.SuperToolTip graduationBatchSuperToolTip = new DevExpress.Utils.S 阅读全文
posted @ 2012-06-26 09:36 jevan 阅读(3295) 评论(0) 推荐(0) 编辑
摘要: 网上的那个很早以前就发布出来了...觉得很不好用是用系统api做的a56爆大奖在线娱乐改了下.思路大体上还是差不多窗口改变位置时改变一下停靠类型然后时钟事件判断鼠标是否在窗口内.如果窗口隐藏且鼠标在窗体中,则显示,反之则隐藏具体看代码吧.不是很完美(没有更好的去做时钟的停止启动优化)....反正功能是实现了using System;using System.Collections.Generic;using System.ComponentModel;using System.Drawing;using System.Data;using System.Text;using System.Windows.For 阅读全文
posted @ 2012-04-13 15:26 jevan 阅读(9248) 评论(0) 推荐(0) 编辑
摘要: VB.net >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Private tabArea As Rectangle Private tabTextArea As RectangleF Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As Syste 阅读全文
posted @ 2012-03-05 10:50 jevan 阅读(2335) 评论(0) 推荐(0) 编辑
摘要: private bool HaveOpened(Form 父窗体, string 子窗体Name) { //查看窗口是否已经被打开 bool bReturn = true; for (int i = 0; i < 父窗体.MdiChildren.Length; i++) { if (父窗体.MdiChildren[i].Name == 子窗体Name) { 父窗体.MdiChildren[i].B... 阅读全文
posted @ 2012-03-05 10:49 jevan 阅读(6313) 评论(0) 推荐(0) 编辑
摘要: “用MDI方式打开一个子窗口体后,总是不能最大化显示,明明子窗口体的WindowState设置为Maximized?”,相信有很多人会遇到这的样问题,请按下面的方法设置即可使MDI子窗体最大化:1、把父窗体的IsMdiContainer设置为True;2、把子窗体的WindowState设置为Normal;3、在父窗体中用下面的方法打开子窗体:private void menuItemsMdiForm_Click(object sender, EventArgs e){ MyChildForm childForm = new MyChildForm(); childForm .... 阅读全文
posted @ 2012-03-05 10:48 jevan 阅读(1913) 评论(0) 推荐(0) 编辑
摘要: 函数private void GetSelectedTreeNode(TreeNodeCollection nodes, List<TreeNode> selectedNodes) { foreach (TreeNode node in nodes) { if (node.Checked) { selectedNodes.Add(node); } GetSelectedTreeNo... 阅读全文
posted @ 2012-03-02 00:49 jevan 阅读(1973) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2012-03-02 00:47 jevan 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 在程序设计过程中,a56爆大奖在线娱乐们经常需要用到不同的随机数序列,于是a56爆大奖在线娱乐们写下了这样的程序://TickCount.CSpublicclassMainClass...{publicstaticvoidMain()...{for(inti=0;i<10;i++)//生成10个随机序列...{CreateRand();}}publicstaticvoidCreateRand()...{Randomrandom=newRandom();for(inti=0;i<6;i++)//6个数字的随机序列Console.Write(string.Format("{0}",random.Nex 阅读全文
posted @ 2012-02-23 10:46 jevan 阅读(458) 评论(0) 推荐(0) 编辑
摘要: 防止重复提交,通用的思路,就是当用户点击提交按钮后,在浏览器中用JS将按钮disable掉,从而阻止用户继续点击该按钮,实现防止重复提交的目的。网上防止重复提交的文章已经不少了,为啥a56爆大奖在线娱乐还要写呢,显然a56爆大奖在线娱乐不是吃饱了撑的。。。最近一个客户,老抱怨a56爆大奖在线娱乐月总有几条重复的业务数据;但创建该业务数据的页面,a56爆大奖在线娱乐们已经应用了常规的防重复提交技术,为啥还这样呢……1. 常规防重复提交 1: <asp:Button runat="server" ID="btnPostBack1" Text="按a56爆大奖在线娱乐1" UseSubmitBehavior=" 阅读全文
posted @ 2012-02-23 10:44 jevan 阅读(588) 评论(0) 推荐(0) 编辑
摘要: 1. ModBus的 Client/Server模型2. 数据包格式及MBAP header (MODBUS Application Protocol header)3. 大小端转换4. 事务标识和缓冲清理5. 示例代码0. MODBUS MESSAGING ON TCP/IP IMPLEMENTATION GUIDE 下载地址:http://www.modbus.org/docs/Modbus_Messaging_Implementation_Guide_V1_0b.pdf1. ModBus的 Client/Server模型 Client与Server之间有两种通讯方式:a56爆大奖在线娱乐是TCP/IP, 阅读全文
posted @ 2012-02-23 10:40 jevan 阅读(1269) 评论(0) 推荐(0) 编辑
摘要: a56爆大奖在线娱乐将谈谈C#项目实例中读取并修改App.config文件,AppConfig最重要的功能就是,它将命令行选项和配置文件选项统一到a56爆大奖在线娱乐数据结构中。尽管这会导致复杂化。C#项目是指一系列独特的、复杂的并相互关联的活动,这些活动有着一个明确的目标或目的,必须在特定的时间、预算、资源限定内,依据规范完成。项目参数包括项目范围、质量、成本、时间、资源。1.向C#项目实例中的项目添加app.config文件:右击C#项目实例中项目名称,选择“添加”→“添加新建项”,在出现的“添加新项”对话框中,选择“添加应用程序配置文件”;如果项目以前没有配置文件,则默认的文件名称为“app.config”,单击“确定 阅读全文
posted @ 2012-02-23 10:29 jevan 阅读(491) 评论(0) 推荐(0) 编辑
摘要: 1、mount语法:mount(type, location, mount_point);说明:type="MTD" location="<partition>" 挂载yaffs2文件系统分区;type="vfat" location="/dev/block/<whatever>" 挂载设备。例如:mount("MTD", "system", "/system");挂载system分区,设置返回指针"/system”mou 阅读全文
posted @ 2011-12-30 10:57 jevan 阅读(3881) 评论(0) 推荐(0) 编辑
摘要: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><head><metahttp-equiv="Content-Type"content="text/html; charset=utf-8&q 阅读全文
posted @ 2011-12-21 11:50 jevan 阅读(1756) 评论(0) 推荐(0) 编辑
摘要: 三层体系结构的概念用户界面a56爆大奖在线娱乐层(USL)业务逻辑层(BLL)数据访问层(DAL)BLL将USL与DAL隔开了,并且加入了业务规则各层的作用1:数据数据访问层:主要是对原始数据(数据库或者a56爆大奖在线娱乐文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不是数据库,具体为业务逻辑层或a56爆大奖在线娱乐层提供数据服务.2:业务逻辑层:主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理,如果说数据层是积木,那逻辑层就是对这些积木的搭建。3:a56爆大奖在线娱乐层:主要a56爆大奖在线娱乐WEB方式,也可以a56爆大奖在线娱乐成WINFORM方式,WEB方式也可以表现成:aspx, 如果逻辑层相当强大和完善,无论表现层如 阅读全文
posted @ 2011-12-21 11:49 jevan 阅读(1778) 评论(0) 推荐(0) 编辑
摘要: Web.config 文件通常包括根据应用程序的运行环境而必须不同的设置。例如,在部署 Web.config 文件时,您可能必须更改数据库连接字符串或禁用调试。对于 Web 应用程序项目,ASP.NET 提供了一些工具,用于自动完成在部署这些项目时更改(转换)Web.config 文件的过程。对于要部署到的a56爆大奖在线娱乐环境,您将创建一个转换文件,该文件仅指定原始 Web.config 文件和适用于该环境的已部署 Web.config 文件之间的差异。转换文件是一个 XML 文件,该文件指定在部署 Web.config 文件时应如何更改该文件。转换操作通过使用在XML-Document-Transfor 阅读全文
posted @ 2011-12-21 11:48 jevan 阅读(503) 评论(0) 推荐(0) 编辑
摘要: (一).选择会话状态存储方式 在Webconfig文件配置: <sessionState mode="???" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="20"/> Asp.net有三种方式存储会话状态信息: 1. 存储在进程中: 属性mode = 阅读全文
posted @ 2011-12-21 11:42 jevan 阅读(174) 评论(0) 推荐(0) 编辑
摘要: /// <head>///<function>/// 存储类(存储UserInfo信息)///</function>///<description>/// 用Cache存储用户信息/// 在指定间隔(TimeOut)内取,则可以从Cache中取,/// 如果超出存储时间,则从数据库取用户信息数据/// 作為所有用户信息的存儲類.///</description>///<author>///<name>ChengKing</name> ///</author>/// </head&g 阅读全文
posted @ 2011-12-21 11:42 jevan 阅读(645) 评论(0) 推荐(0) 编辑
摘要: 到目前为止,a56爆大奖在线娱乐们使用的模块都是在同一个配置文件中,这显然是不灵活的,a56爆大奖在线娱乐们希望a56爆大奖在线娱乐功能模块能独立的在一个配置文件中体现,这样不仅易于管理,易于扩展,也易于阅读和分类.企业库当然考虑到了这个问题并且提供了解决方案,本章就是讲解如何使用Configuration Application Block来将各个模块分割到独立的配置文件中的.和以前一样,a56爆大奖在线娱乐们先提需求,再用实例做讲解,这样比较形象生动些: 1)创建一个工程,里面用到企业库的Data 数据访问模块和Log日志处理模块 2)2个模块的配置分别保存在不同的配置文件中(Data.config和Log.config中) 3)在程序中调用这2个模块... 阅读全文
posted @ 2011-12-21 11:38 jevan 阅读(387) 评论(0) 推荐(0) 编辑
摘要: 代理对象(Proxy Object)会通过Handler链定位到真实对象(Real Object),而Policy则被注入到代理对象和真实对象中。整个流程如图:a56爆大奖在线娱乐个人对Policy Injection Application Block使用的看法是:用户先创建一个代理,用这个代理间接操作实体,在调用实体的方法或者成员属性时可以透明的触发一系列设置好的Handler(如日记记录,身份验证等),并且只需要修改相应的配置文件就能快速更改Handler链.(因为是个人看法,也许不太准确,官方解释在此http://msdn.microsoft.com/en-us/library/ff647463.asp 阅读全文
posted @ 2011-12-21 11:36 jevan 阅读(354) 评论(0) 推荐(0) 编辑
摘要: 依赖注入容器Unity:Unity的构造类似于Castle中的IOC(控制反转 或者叫依赖注入)容器,a56爆大奖在线娱乐们使用抽象接口来隔离使用者和具体实现之间的依赖关系,但是不管再怎么抽象,最终还是要创建具体实现类的实例,这种创建具体实现类的实例对象就会造成对于具体实现的依赖,为了消除这 种创建依赖性,需要把依赖移出到程序的外部(比如配置文件)。使用依赖注入后,这些类完全是基于抽象接口编写而成的,a56爆大奖在线娱乐可以最大限度地适应需求的变化。 依赖注入的形式有三种,分别为构造子注入(Constructor Injection)、设值方法注入(Setter Injection)和接口注入(Interface Inject 阅读全文
posted @ 2011-12-21 11:33 jevan 阅读(450) 评论(0) 推荐(0) 编辑
摘要: 使用企业库异常处理应用程序模块的优势:它支持整个应用程序体系结构层的异常处理,而不仅限于服务接口的界限。它使得异常处理策略可以在管理层定义和维护,以便决策人员(可能是系统管理员和开发人员)可以定义如何处理异常。他们可以维护和修改控制异常处理的规则集,而无需更改块的应用程序代码。它提供了常用的异常处理功能,例如记录异常信息的功能、通过将原始异常替 换为其他异常来隐藏敏感信息的功能,以及通过将原始异常打包到另一个异常中来添加异常的上下文信息的功能。这些功能封装在名为 Exception handlers 的 .NET 类中。它可以合并多个异常处理程序以产生某个异常所需的响应,例如先记录异常信 息, 阅读全文
posted @ 2011-12-21 11:30 jevan 阅读(440) 评论(0) 推荐(0) 编辑
摘要: 开发人员经常编写需要安全功能的应用程序。这些应用程序通常需要执行一系列不同的安全操作,而且它们还经常与不同的基础安全提供程序(如 Microsoft Active Directory 目录服务、授权管理器、Active Directory 应用程序模式 (ADAM) 和自定义数据库等)进行交互。 安全应用程序块通过收集开发人员必须执行的许多最常见的安全任务,来简化开发人员的工作。a56爆大奖在线娱乐任务都以一致的方式处理,从特定的安全提供程序中抽象出应用 程序代码并使用最佳做法。您甚至可以通过更改配置来更改基础提供程序,而无需更改基础应用程序代码。验证应用程序块功能框架如下图所示: 几个基本概念:(1) Ti 阅读全文
posted @ 2011-12-21 11:21 jevan 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 企业库数据库访问模块通过抽象工厂模式,允许用户通过简单的配置选择不同的数据库作为程序的数据源,大大解决了切换数据库时带来的麻烦.因为a56爆大奖在线娱乐本机只安装了SQL Server 2005,a56爆大奖在线娱乐在此只做SQL的演示,需要深究的朋友可以访问以下网站:http://msdn.microsoft.com/en-us/library/ff664408%28v=PandP.50%29.aspx企业库数据库访问模块的几大功能:1. 最简单的功能,通过ExecuteNonQuery.方法执行SQL语句.2. 执行ExecuteDataSet,返回DataSet类型的数据集.3. 执行ExecuteScalar,获取返回 阅读全文
posted @ 2011-12-21 11:16 jevan 阅读(440) 评论(0) 推荐(0) 编辑
摘要: 企业库日志应用程序模块工作原理图:从上图a56爆大奖在线娱乐们可以看清楚企业库日志应用程序模块的工作原理,其中LogFilter,Trace Source,Trace Listener,Log Formatter的信息都可以在Category配置文件中反映出来,通过配置文件,调用LogWriter类的Writer方法,就可以将包含日志信息的LogEntry实体写入Category配置文件中指定的设备了.企业库日记应用程序模块提供了下列几种记录方法:The event logAn e-mail messageA databaseA message queueA text fileA Windows®Ma 阅读全文
posted @ 2011-12-21 11:13 jevan 阅读(431) 评论(0) 推荐(0) 编辑
摘要: 企业库验证应用程序模块之配置文件模式:1. 新建一个控制台应用程序,并创建一个Customer类,其代码如下所示:using System;using System.Collections.Generic;using System.Linq;using System.Text;using Microsoft.Practices.EnterpriseLibrary.Validation.Validators;using Microsoft.Practices.EnterpriseLibrary.Validation;namespace ConsoleApplication1{ class ... 阅读全文
posted @ 2011-12-21 11:02 jevan 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 企业库提供了一个很强大的验证应用程序模块,特点是:可以通过配置为你的程序中特定的类来定义规则集.是为你的类的公有属性,即对外开放的属性进行验证的.使用企业库验证应用程序模块的优势:有助于保持一致的验证方法。包括大多数标准验证,包括.NET数据类型校验.它让您可以将多个规则集具有相同的类和该类的成员.它可以让你申请一个或多个规则集时,您验证的对象.企业库验证应用程序模块提供了下列几种验证方法:And CompositeValidatorContainsCharacters ValidatorDate Time RangeValidatorDomain ValidatorEnum Conversi 阅读全文
posted @ 2011-12-21 10:51 jevan 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 本章介绍的是企业库加密应用程序模块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 @ 2011-12-21 10:49 jevan 阅读(323) 评论(0) 推荐(0) 编辑
摘要: 企业库加密应用程序模块提供了2种方式让用户保护自己的数据:Hashingproviders: 离散加密法, 简单来说就是把你的信息保存到内存中后用一个离散值a56爆大奖在线娱乐并返回给程序,这样在程序中只能看到离散值而不是明文,这样就起到简单的加密效果啦.Cryptographyproviders: 密钥加密法. 用对称加密方法对数据进行加密(尚未支持非对称加密).使用企业库加密应用程序模块的优势:减少了需要编写的模板代码,执行标准的任务,可以用它来解决常见的应用程序加密的问题.有助于维持一个应用程序内和跨企业的数据传输加密.允许管理员进行加密配置,包括使用组策略.可扩展,支持用户自定义加密技术.下面介绍如何 阅读全文
posted @ 2011-12-21 10:48 jevan 阅读(371) 评论(0) 推荐(0) 编辑
摘要: 本篇文章具体官方解释请参照以下链接: 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 @ 2011-12-21 10:46 jevan 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 使用DataSet进行工作 使用Database类的ExecuteDataSet方法获取DataSet对象,在DataSet对象中,默认的表名称依次为Table,Table1,Table2.。。。。。。。。。。。。 如果你想要将数据加载到一个已经存在的DataSet对象中,可以使用LoadDataSet方法。 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->DataSetproductDataSet;//UsingaSQLstatement. 阅读全文
posted @ 2011-12-21 10:44 jevan 阅读(624) 评论(0) 推荐(0) 编辑
摘要: 以对象形式从数据库获取数据 现代的很多编程技术都集中在“数据就是对象”这个概念。如果你在应用层之间使用Data Transfer Objects (DTOs)传输数据的话,这个方法就很有用,使用ORM实现一个数据访问层,或者是客户端查询技术,例如LINQ。 数据库访问模块实现了这个功能,允许你执行SQL或者是存储过程,可以返回一个对象序列,但是要求序列实现IEnumerable接口。 关于Accessors 模块提供了两个方法来实现这种查询要求,SprocAccessor和SqlStringAccessor。你可以使用Database类的ExecuteSprocAccessor和E... 阅读全文
posted @ 2011-12-21 10:42 jevan 阅读(405) 评论(0) 推荐(0) 编辑
摘要: 前言 鉴于企业库5.0已经发布正式版,同时有广大读者的要求(臭屁一下,o(∩_∩)o...),后面文章的内容和代码将基于Enterprise Library5.0和Unity2.0来写,感谢大家的一贯支持。 正文 数据库访问模块都能实现哪些功能呢?数据库访问模块抽象类你正在使用的数据库,提供了一些列接口,使得你可以更容易的实现常用的数据库访问功能。例如:使用Database类填充DataSet数据集,用database类获取一个适当的Command实例,然后调用database的ExecuteDataSet方法,就可以填充数据集。不需要你调用DataAdapter的Fill方法。Ex... 阅读全文
posted @ 2011-12-21 10:41 jevan 阅读(607) 评论(0) 推荐(0) 编辑
摘要: 模块Unity是一个轻量的、可扩展的依赖注入容器,支持构造函数注入、属性注入、方法调用注入。你可以用它创建企业库对象,也可以创建自定义的业务对象。Unity和企业库中的其他模块有一些不同点: 你可以独立的使用Unity模块来实现依赖注入技术,不需要其他模块的辅助。 Unity支持用配置文件来准备容器,也支持在运行的时候用代码动态注册依赖关系。 Unity和企业库的核心库没有依赖关系。它包含了内置的配置信息读取方法,如果需要的话,这些配置信息也可以从企业库的配置中读取。 本节包含下面的内容 简介 在应用中使用Unity 典型的解决方案 设计Unity的目的 扩展和修改U... 阅读全文
posted @ 2011-12-21 10:39 jevan 阅读(603) 评论(0) 推荐(0) 编辑
摘要: 上图是一个日志模块的基本配置,本节a56爆大奖在线娱乐们就来讲述一些关于他的内容和代码示例。 默认情况下,在web.config文件中的配置信息是明文的,你可以用.NET自带的加密解密保护机制将配置信息加密,也可以用企业库提供的保护机制。在配置工具中就可以选择,如下图所示 无论你选择那a56爆大奖在线娱乐,保存之后,你打开web.config文件,就会发现原来明文的日志配置节,变成了下面的加密格式(不用开发者操心解密的事情,用的时候自动解密)。 企业库的日志模块可以将日志信息以多种形式来记录,系统事件、a56爆大奖在线娱乐文件、电子邮件、事件查看器、数据库、消息队列,xml格式等,如下图所示建立日志记录的形式。 如上图所示,在T... 阅读全文
posted @ 2011-12-21 10:38 jevan 阅读(317) 评论(0) 推荐(0) 编辑
摘要: 日志模块企业库的日志模块简单的实现了日志功能的常用功能。开发者可以利用模块在下面的位置记录信息: 事件日志 电子邮件 数据库 消息队列 a56爆大奖在线娱乐文件 WMI的事件查看器 自定义的位置模块为记录在任何位置的日志信息都提供了一系列接口。在你的应用中不需要指明信息的目的地。配置信息决定了是否记录日志,以及日志记录的位置。这就意味着开发者不需要修改应用代码就可以变更日志的行为。 本节包含下面的内容: 简介 使用模块进行开发 典型解决方案 模块的设计目的 扩展和修改模块 部署和实施模块 示例代码 1、 简介通过下面的主题,你可以发现模块是否适合于你。常用方案开发者在开发过程中经常需要日志功能。典型的,响应. 阅读全文
posted @ 2011-12-21 10:37 jevan 阅读(357) 评论(0) 推荐(0) 编辑
摘要: 本篇讲述如何在应用中使用数据访问模块。首先,讲述如何配置模块并且和应用整合;其次是,如何使用数据访问模块完成常用的功能,例如,获取单条数据,或者是使用DataSet返回多条数据;最后,讲述一些关系连接管理、参数处理、异常处理的主题。 主要包括下面的主题: 配置模块 在应用中添加代码 创建Database对象 创建DbCommand对象 管理连接 使用TransactionScope类 创建分布式的数据库应用 异常处理 参数处理 1、配置模块 默认情况下,配置信息是不加密的,里面的用户名和密码等敏感信息是明文的。虽然config文件从外界是访问不到的,但是还是... 阅读全文
posted @ 2011-12-21 10:34 jevan 阅读(253) 评论(0) 推荐(0) 编辑