摘要:
好久没有写博客了, 最近研究了一下权限方面的资料,和大家分享一下基于组织角色的权限设计思路。 一、 目标: 二、 设计思路 1. 模块 模块是一个抽象的概念,大到可以表示一个系统,小到可以表示一个控件的功能,包括了菜单、模块、页面、功能、数据权限及数据权限表达式等。 1) 菜单:是一个指向某个功能的 阅读全文
摘要:
对象的构造函数是指向创建对象的类的原型对象的构造函数。 类是一个Function, Function都有原型对象,原型对象的构造函数指向类的声明。 a.prototype = {} 等价于 a.prototype = new object({}); 此时 a.prototype.constructo 阅读全文
摘要:
Position: 生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。 元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。 生成绝对定位的元素,相对于浏览器窗口进行定位。 元素的位置通过 "left", "top", "rig 阅读全文
摘要:
oracle最精简客户端:network\admin\tnsnames.ora (自己新建)oci.dlloraocieill.dll将oci.dll的路径加到path变量中就可以了tnsnames.ora示例如下:MyDBName =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.1.16)(PORT = 1521))(CONNECT_DATA =(SERVER = )(SERVICE_NAME = ora10g)))运行sql plus:(如果不运行,则不用)orasqlplusic11.dllsqlplus.exesqlpl 阅读全文
摘要:
一、oracle客户端免安装配置1.到oracle官网下载Oracle InstantClient, 把它解压缩到单独目录,例如C:\OracleClient,2. 添加环境变量 ORACLE_HOME C:\OracleClient (可选) TNS_ADMIN C:\OracleClient (可选)指定tnsnames.ora文件的存放路径。如果不配置该变量,配置了ORACLE_HOME环境变量,则自动在%ORACLE_HOME%/network/admin/位置查找tnsnames.ora文件 NLS_LANG SIMPLIFIED CHINESE_CHIN... 阅读全文
摘要:
Throw 会保留堆栈, Throw ex会清空堆栈,从而找不到在什么地方出错。记录日志时,使用ex.ToString()得到出错信息, 如果有*.pdb文件则会显示详细的堆栈信息,包括行号等;如果没有*.pdb文件,则会显示出错信息和调用的相关方法,但是不会显示出错行号信息。可以用以下代码测试: class Program { static void Main(string[] args) { Console.WriteLine(AppDomain.CurrentDomain.BaseDirectory); ... 阅读全文
摘要:
安装了Oracle Db Provider后Oracle.DataAccess.dll的路径是:D:\app\Administrator\product\11.2.0\client_1\ODP.NET\bin\2.x下面演示了使用OleDb, msdaora, System.Data.OracleClient.OracleConnection, Oracle.DataAccess.Client.OracleConnection 以及用DbProviderFactories.GetFactory方式来获取Connection另外如果是64位操作系统,需要安装64位的驱动代码如下:using Sy 阅读全文
摘要:
hooks目录下面的那些示例是用在linux下面的,在windows中无法运行,需要修改。在hooks目录下面增加pre-revprop-change.bat,内容:# Here is an example hook script, for a Unix /bin/sh interpreter.# For more examples and pre-written hooks, see those in# the Subversion repository at# [url]http://svn.collab.net/repos/svn/trunk/tools/hook-scripts/[/u 阅读全文
摘要:
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Toolbar新增 項 ,名稱為QuickComplete再在QuickComplete裡新增 字串值 ,名稱為QuickComplete按下QuickComplete字串值,輸入以下內容http://www.%s.com最後按確定退出 阅读全文
摘要:
google chrome服务器hosts设置:74.125.39.99chrome.google.com74.125.39.99clients2.google.com74.125.39.99clients2.googleusercontent.com 阅读全文
摘要:
1. 一对一关联中, 主端必须配置成Required,且类上必须用Table修饰,才能让两个类保存到同一个表中, 依赖类中主键不需要与主端的类一样,但是必须映射到同一列,同时在DbContext主端的类必须在依赖类的前面出现(下面例子中的Role必须要放在RoleProfile定义的前面)。 [Table("WF_Role")] publicclassRole{[Key]publicintRoleId{get;set;}publicstringRoleName{get;set;}[Required]publicRoleProfileProfile{get;set;}}[Ta 阅读全文
摘要:
在开发的时候会使用到多个CSS文件和JS文件,如何组织就成了一个问题。个人认为在开发的时候使用多个文件,这样方便查看,到发布的时候再用工作合并成一个。大概思路如下:一般包括两个文件,一个在开发的时候使用,一个在发布的时候使用,程序根据配置加载其中一个。例如有一个All-debug.css文件,在开发的时候使用,里面的内容是:@import url(../960/960-all.css);@import url(core.css);@import url(two_col_form.css);另外有一个All-Release.css文件,在发布的时候使用,发布时用工具把上面的那些CSS文件合并到. 阅读全文
摘要:
将下面的信息保存到notepad++.reg, 然后双击运行就可以了Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\*\shell\NotePad++][HKEY_CLASSES_ROOT\*\shell\NotePad++\command]@="F:\\Tool\\NotePad++.6.1.3\\unicode\\notepad++.exe \"%1\"" 阅读全文
摘要:
今天看了一下960 grid system的CSS, 感觉真是简单,共包括3个文件,第一个是reset.css,用于重置样式;第二个文件是text.css,定义了一些元素的基本样式;第三个是核心文件960.css, 仅仅只包含了.container_X .grid_X.prefix_X .suffix_X.pull .push .alpha .omega.clear, 但是功能却非常的强悍,而且支持多个浏览器,对网页排版有很大的帮助,再也不用为div对齐而烦恼。在实际的使用过程中,.alpha .omega的使用不是很方便,例如一个表单的排版,例如里面有6个字段,排成3行,这样每行的第一个要加 阅读全文
摘要:
1. 在NHibernate的配置文件中加上<propertyname="show_sql">true</property>2. 在Log4Net中的配置文件中加上 <loggername="NHibernate"><levelvalue="WARN"/><appender-refref="RollingLogFileAppender"/></logger><loggername="NHibernate.SQL"> 阅读全文
摘要:
虽然现在MVC比较热, 但是使用Web Form方式进行开发的项目应该还有很多,这就少不了使用验证控件,但是验证控件在验证不通过时,提醒的方式很简单,不够友好。如果页面布局是流布局方式,很容易因为显示出来的错误信息造成布局混乱。AjaxControlToolkit的ValidatorCallout虽然可以很好,但是需要为每一个验证控件要再加多一个控件, 在实际使用中太麻烦了,于是分析了ValidatorCallout的原理后,自己来实现一个更好用的ValidatorCallout原理: 每一个验证控件最后都会在页面中生成相应的元素,并有一个evaluationfunction属性,这个方法会在 阅读全文
摘要:
今天把电脑设置了允许远程登录后,老是打不开,提示The RPC server is unavailable后来去网上搜索了一下, 这个需要两个service,Remote Procedure Call (RPC)TCP/IP NetBIOS Helper把这两个都启动后, 就允许远程登录了。 阅读全文
摘要:
对于一个CS程序, 可以直接连接数据库(方式一);为了安全起见,可能会通过web service来获取数据(方式二),此时客户端程序在一台机器上, Web Service在另外一台机器上。两者在代码实现上也是不一样的 。方式一:只需要实现核心代码,然后客户端直接引用就可以了方式二:除了实现核心代码外,web服务器上需要添加相应的web service, 同时客户端需要引用相应的web service, 客户端使用生成的代理去发送请求。现在使用Spring.net后, 可以按方式一来编写代码, 但是部署时却可以支持两种布署方式。现在使用为什么要使用AOP?中的例子来说明这个功能。1.在IAcco 阅读全文
摘要:
在网上看到很多文章提到面向方面编程(Aspect-Oriented Programming),但一直没有搞清楚这样做有什么好处,为什么要使用AOP呢?问题: 尽管面向对象编程与面向过程相比减少了代码的重复,但是它仍然留下了大量的重复代码。面向对象设计有助于最小化应用程序逻辑的代码重复,但是对于实现横切关注点的代码仍然很难实现模块化,例如日志,虽然我们可以使用类似于log4Net这样的类库来灵活的记录日志, 但是记录日志的代码却遍布于程序之中,其中有大量的重复。使用AOP却可以很好的解决这方面的问题。举个例子来说明一下这个问题:假设有一个账户类,里面有存钱和取钱的简单操作,如下 ///<s 阅读全文
摘要:
以前觉得Enterprise Library 中的项目很好, 有些现在已经在使用,例如数据库访问模块, 有些虽然觉得有用,但是觉得不太好用,例如日志、验证等虽然数据库访问模块可以支持多个数据库, 但是能不能支持关键还是要看写出来的sql语句是否支持多数据库。最近研究了一下Spring.net后,觉得两者差距太大了。Enterprise Library整个就是一个零件库,还得靠自己DIY。Spring.net各个组件,拆开来看是一个零件库, 但是合起来就是一个框架,只需要往里面填东西就好了。 阅读全文
摘要:
分层架构的反思 阅读全文
摘要:
Microsoft Enterprise Library 5.0 如何集成MySQL数据库 阅读全文