- 博客(29)
- 资源 (10)
- 收藏
- 关注
原创 AppFramework最新版本V1.2安装包下载地址:http://download.csdn.net/source/334024【原V1.1/1.0版本的用户应尽快下载V1.2版】
安装包下载地址:http://download.csdn.net/source/334024 SOCKET 网络日志接收器下载地址:http://download.csdn.net/source/327016V1.2修改记录:1)修改了 V1.1/V1.0 的代码生成bug:当主键是字符串类型时,生成重复的DAO方法导致编译失败。2)修改了 TextParameter 类名为 Te
2007-12-18 10:01:00 7492 4
原创 一个用双信号灯同步机制,协调两个后台线程的例子。
<br />using System;<br />using System.Collections.Generic;<br />using System.ComponentModel;<br />using System.Data;<br />using System.Drawing;<br />using System.Linq;<br />using System.Text;<br />using System.Windows.Forms;<br />using System.Threading;<br
2010-08-26 00:13:00 1159
原创 JavaScript 的 Cross Site 脚本注入风险
今天有人来公司推销网站安全扫描软件,演示了对JS的跨域脚本注入风险的扫描,以前没意识到,今天有所了解。如果您的程序页面有以下情况,那么JS脚本注入的风险就很大: 1)页面打开时,URL 有某个参数,例如 XXPage.aspx?XXParam=XXValue2)aspx页面里有如下代码: var p = ""; 注入风险如下:1)黑客假冒网站身份发
2010-01-20 22:17:00 1960
原创 设计文档写些什么才有用?
一些公司用CMMI做软件开发过程管理,对详细设计过程要求很高,需产出Rose设计模型,画出序列图、活动图等等。本意是为了让Rose设计模型对后续的编码有指导意义。但实际实施过程中发现效果不佳,一是有人不愿意认真写详细设计文档,二是有人不愿意看详细设计文档,问题如下: 1)当详细设计和编码人员实际为同一人时:既然是同一人,自己做事心里有数,整体想清楚了就开始编码,而不愿意写
2009-11-26 08:03:00 2019 2
原创 从几个方面评价软件设计的合理性?
1、问题的提出 很多程序员写程序,想到哪写到哪,缺乏一个整体规划。结果随着代码的堆积,软件内部结构就乱得一团糟。想要修改一个地方,影响这、影响那,牵一发而动全身。最后不得不重构,甚至从根基重构---直接推倒重来! 一个欠设计的系统会随着规模的扩大加速死亡;而一个设计考究的系统,则可以长久保持年轻,后期维护成本也会降低。 2、软件设计评价 软件设计分为几个层面:框架级
2009-11-23 22:05:00 7454
原创 一种分布式数据库同步方案
对于大型企业,业务分布在世界各地,为了改善当地业务服务能力,不得不在当地部署数据库以提高性能,而各个区域之间的数据交互或者同步,成为不可不面对的问题。其间要解决的技术问题主要有: 1、同步数据的提取。从数据库里提取出需要同步的数据,这包括增、删、改三类动作对数据造成的改变。在数据表安装触发器是提取同步数据的简单有效的手段,而且触发器对应用层而言是透明的,应用程序感觉不到触发器的存在。
2008-07-15 10:25:00 4557 1
原创 用 Microsoft.mshtml.dll 和 WebClient 自己实现网页保存为 MHT 文件
相信大家经常用IE保存网页功能保存有价值的网页,但是IE的网页保存功能做的不是太好,经常会有些页面保存失败。我也深受其烦,好在本人是程序员,程序员最大的好处是会自己编软件。正好我自己开发了个多页签浏览的IE,于是便在其中增加了网页保存为MHT文件的功能。网页保存为MHT功能主要包含以下几个关键问题:1)修改所有相对链接为绝对链接;2)把网页内容连同包含的 JS、图片、CSS等文件下载到
2008-05-08 21:44:00 4787 5
原创 用 WeifenLuo.WinFormsUI 实现 VS2005 风格的多页签浏览器
效果图:使用起来还比较简单,关键点说明:1)在主窗口客户区放置一个DockPanel,设置如下事件:// TAB切换时会触发的事件,在这里切换主窗口公用工具栏和状态条: dockPanel.ActiveDocumentChanged += new EventHandler(dockPanel_ActiveDocumentChanged);2)每个TAB标签实际上是一个Form,
2008-05-08 21:02:00 3320 9
原创 最近用VS2005C#开发的IE内核多页签浏览器,支持多线程下载和在后台保存MHT
最近用VS2005C#开发的IE内核多页签浏览器,支持多线程下载和在后台保存MHT,名字还没定,请大家帮忙想个好名字吧:) 1. 总体界面:VS2005风格,渐变色工具条背景、四边停靠栏,多页签浏览:2.菜单:VS2005风格,注意看跟VS2005自带的ToolStrip显示有点不一样哦,主菜单背后有阴影,效果不错吧!嘿嘿。1)文件菜单支持保存网页,是在后台下载的,而不像I
2008-04-20 22:29:00 2876 7
原创 利用 Monitor.TryEnter 来规避 .NET 线程死锁的源代码
在开发多线程的应用程序时,我们会大量用到 lock (...) {} 块。如果 lock 的对象比较多,非常容易发生死锁。死锁的发生很难预料,而且一旦发生在界面线程上,界面就不再刷新响和应用户输入;如果发生在后台线程,后台线程也就阻塞不工作了,死锁必然会导致应用程序不可用。在.NET里发生死锁的原因是什么?以 C# 为例,通常 lock 语句是被转化为对一个资源的无限长时间的等待,所以一旦资源
2008-04-06 03:12:00 4703 2
原创 近期 IE 打开新浪搜狐网页 CPU 使用率高的解决方法
近期电脑不知道是感染了什么毛病,IE(6.0)只要打开新浪网页,CPU使用率就高达100%,并且在关闭IE的时候,CPU也会达到100%。找了很多帖子都没有解决方法,用各种杀毒软件、木马克星也找不到病毒和后门。有个帖子废话连篇,我试过都没用(还被多处转贴)。后来我发现“服务”管理器里有一个“Contrl Center of Storm Media”服务,好像是 影音风暴(Stom) 安装上去的,把
2008-03-22 13:50:00 4242
原创 截获IE控件下载事件并实现多线程断点续传下载总结
截获IE控件下载事件并实现多线程断点续传下载总结。1、截获IE的下载文件事件。有几个关键点:1)获取文件名;2)获取文件长度;3)决定是启动自己的多线程下载程序来下载文件还是继续让IE下载文件;4)注意容错;2、多线程下载的实现。要点如下:1)应对 referrer 防盗链验证;2)应对 Cookie 会话验证;3)应对 HttpWebRequest默认的只有2个并发连接限制;4)设置多线程分块5)写文件;参考代码:
2008-02-23 12:23:00 1982
原创 介绍一个对IE控件封装最好的COM组件-csExWB
前段时间研究 IE 开发,在网上找了好久,终于找到一个叫做 csExWB 的组件。csExWB 分两个部分,一个部分是用 VC6 写的COM 组件,实现了包括 IDownloadManager 在内的诸多借口;第二部分是用 CSharp 写的,是对 前面写的 COM 组件再做一次 .Net 封装。我用这个控件修改了自己的的 MyIE,代码少了很多,并且可以实现类似迅雷、Flashget 截获
2008-02-02 12:51:00 8644 3
原创 对 WebBrowser 和 AxWebBrowser 两个控件使用经验的一点补充
几天前我写过一篇文章介绍使用 AxWebBrowser 控件作扩展, http://blog.csdn.net/AppFramework/archive/2008/01/16/2047610.aspx 。后来发现有些问题:1)打开HTML界面不是XP风格的平面式的,是老式的3D风格的。而用.Net自带的 WebBrowser 控件打开的页面是XP风格的。2)直接使用AxWebBrowser
2008-01-21 14:19:00 11873 5
原创 基于AxWebBrowser实现完美的标签式浏览器,下载地址:http://download.csdn.net/source/337096
由于一时的头脑发热,花了两个晚上基于AxWebBrowser写了一个浏览器MyIE。现在用这个浏览器发的帖子,有点小市民的成就感,嘿嘿。源代码可以在本人的资源里下载到,下载地址:http://download.csdn.net/source/337096这里简单总结如下:1、VS2005自带的WebBrowser功能较少(网上资源也不多),AxWebBrowser控件暴露的事件更多些。
2008-01-16 22:20:00 8888 18
原创 关于开闭原则的理解
开闭原则:设计一个模块的时候,应当使这个模块可以在不修改原有代码的前提下被扩展。这个原则是保证系统具有扩展性的基本原则。我理解有几个要点:1、要能够复用;2、扩展时只增加新方法、新类;3、不得不修改代码时,修改的范围必须是局部的、隐藏的;通常变更有三种方式,一种是横向变更,例如售票系统,原来只能售火车票,现在要可以售机票;第二种是纵向变更,例如在某个流程里插入新活动或跳过活动;第三种是局部
2008-01-13 11:54:00 1975 1
原创 模拟星空的MFC源代码_Sky.RAR,下载地址:http://download.csdn.net/source/332601
http://download.csdn.net/source/332601 代码写得还是比较经典的,2002年用 C# 写了第一版,3年后用 C++ 重写。
2008-01-11 23:43:00 1876 1
原创 用AppFramework重写Discuz数据访问层源代码
下载地址:http://download.csdn.net/source/331414 修改的地方主要有:1)在解决方案里增加了“Discuz.Data.AppFramework”项目2)AppFramework插件生成的代码放在“Discuz.Data.AppFramework”项目的GenerateCode目录下3)对论坛管理的数据访问类源代码ForumManage.cs做了重
2008-01-10 21:54:00 2218
原创 对数据库事务处理代码通常写法的一点改进
通常数据库事务处理代码都采用如下的模式编写:打开数据库连接();try{ 开启事务(); 数据库操作1(); 数据库操作2(); ......; 数据库操作n(); 提交事务();}catch (Exception err){ 回滚事务(); throw err; // 重新抛出异常(导致异常的堆栈信息发生变化,无法知道原始异常所在位置,不利于调
2008-01-07 10:16:00 1644
原创 用 AppFramework 替换 Discuz!NT 的数据库访问层
(一)分析DIscuz!NT 支持2种数据源,SqlServer和MSAccess,但其数据库访问层实际上已经支持了 MySQL,只是安装程序还未提供基于 MySQL 的。 Discuz!NT采用了"页面类 -> 业务类 -> 数据库访问类 -> DbHelper -> 数据库"这样的分层方式。数据库访问类有1个大接口3个大实现。所谓大接口就是 IDataProvider 接口,定义了9
2008-01-06 16:00:00 2179 3
原创 AppFramework1.0数据库访问组件使用说明(八)DAO类的使用
1.1 DAO类的使用在AppFramework里DAO类可以由代码生成工具自动生成,开发者只需要通过DAO类基本上就可以完成大部分增删查改业务,一些特殊的业务如果无法用DAO实现,则可以通过SqlMap结合IDBSession来实现。DAO主要处理三类对象:1、 表:生成的代码有增删改查等方法;2、 视图:生成的代码有查询方法;3、
2007-12-17 23:57:00 1299
原创 AppFramework1.0数据库访问组件使用说明(七)SqlTemplate与SqlMap的使用
1.1 SqlTemplate与SqlMap的使用1.1.1 SqlTemplate原理在早期做过报表系统开发的都知道,众多的查询条件和复杂的统计逻辑都直接硬编码在程序里,程序代码与SQL代码交织在一起,程序文件变得冗长杂乱,时间久了就变得难以维护。SqlTemplate是AppFramework提供的一种可视化、结构化的动态SQL语法,其代码为XML格式,从程序中剥离出来编写在
2007-12-17 23:54:00 1549
原创 AppFramework1.0数据库访问组件使用说明(六)QueryFilter的使用
1.1 QueryFilter的使用QueryFilter是AppFramework提供的一个功能强大、不需要编写SQL语句、跨数据库、参数化、执行性能优异的查询条件构造器。有了QueryFilter我们不需要再拼装SQL语句,不用再担心单引号导致SQL注入的安全漏洞,不用担心被众多的AND、OR、NOT等逻辑运算符弄得晕头转向,不用区分处理TO_DATE、UPPER等无法跨数据库的表
2007-12-17 23:44:00 5019 3
原创 AppFramework1.0数据库访问组件使用说明(五)IDBSession使用详解
1.1 IDBSession使用详解IDBSession负责与数据库打交道,它通过ADO.NET实现几种常用数据库的连接。目前支持3种数据库:SQLServer(7.0、2000、2005三个版本,推荐2005)、ORACLE(8.1.7以上,推荐9i)、MSAccess(需要MDAC1.7以上支持)。与IDBSession有关的关系图如下:
2007-12-17 23:40:00 2318
原创 AppFramework1.0数据库访问组件使用说明(四)基础数据类型
1.1 基础数据类型1.1.1 有关DBValue 为了规避IBatisNet的空值问题,AppFramework不使用C#基本类型来构造实体类。AppFramework对C#基本类型作了简单封装,增加了一个是否有值的属性来标志字段值是否非空。每一种基本的C#类型都有对应的DBValue对其进行封装。
2007-12-17 23:37:00 1294
原创 AppFramework1.0数据库访问组件使用说明(三)配置文件详解
1.1 配置文件详解1.1.1 在DBAccess.config配置多个数据源如果应用系统规模较大,有可能会使用多个数据源。AppFramework支持多个数据源,配置方法是在DBAccess.config里配置多个节点,并给每个数据源命名不同的名称。注意,为了提高性能,应该把最常用的数据源设置为默认数据源,在DataSource节点里把Default属性设置值为true,例如
2007-12-17 23:32:00 1280
原创 AppFramework1.0数据库访问组件使用说明(二)入门
2.1 安装1.1.1 软件环境要求已安装如下软件:1、 安装了.Net Framework 2.02、 安装了Visual Studio 20053、 如果要访问MSAccess数据库,需安装了MDAC(1.7以上版本)4、 如果要访问Oracle数据库,需安装了ODP.NET专业的开发人员一般都知道如何获取和安
2007-12-17 22:42:00 2405
原创 AppFramework通用数据库访问组件之来龙去脉
一、起因AppFramework,名字起得是有点大 。我的原始目标是做个全面的企业应用程序框架,内容涵盖B/S、C/S结构,从UI到DA,其功能应该覆盖大部分 ApplicationBlocks 所包含的功能。整体思路还是采用拿来主义,从开源软件提取精华,组织装配出成熟好用的框架。但是数据访问无疑是最基础、最关键的问题,涉及到性能、稳定性、易用性、开发效率等诸多问题。在这方面,
2007-12-12 11:38:00 1651
原创 AppFramework1.0数据库访问组件使用说明(一)引言
1 概述1.1 引言约有90%的企业信息化管理系统基于数据库实现,这类系统中又有超过30%的代码集中在数据访问层负责业务数据存取。除了实现数据的增删改查,数据访问层还要提供一些与业务无关功能,例如面向对象的持久化与访问机制、本地事务与分布式事务支持、多数据库支持,这些机制或功能形成相对独立的逻辑领域,其主要目的有:1、 提供简单易用的数据库访问方法,
2007-12-11 12:22:00 2055
基于AxWebBrowser开发的标签式浏览器源码
2008-01-17
AppFramework数据库访问组件_V1.2(带使用说明文档).rar
2008-01-13
AppFramework数据库访问组件_V1.2.rar
2008-01-13
DiscuzNT_用AppFramework重写DataAccess层_源代码
2008-01-10
SOCKET_压力测试与日志工具
2008-01-06
AppFramework数据库访问组件_代码生成插件_V1.1.rar
2008-01-06
AppFramework_V1.0_New
2007-12-13
AppFramework_V1.0
2007-12-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人