<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[框架提高生产力]]></title><description><![CDATA[凝聚产生力量]]></description><link>https://blog.youkuaiyun.com/AppFramework</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; AppFramework]]></copyright><item><title><![CDATA[一个用双信号灯同步机制，协调两个后台线程的例子。]]></title><link>https://blog.youkuaiyun.com/AppFramework/article/details/5838988</link><guid>https://blog.youkuaiyun.com/AppFramework/article/details/5838988</guid><author>AppFramework</author><pubDate>Thu, 26 Aug 2010 00:13:00 +0800</pubDate><description><![CDATA[<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]]></description><category></category></item><item><title><![CDATA[JavaScript 的 Cross Site 脚本注入风险]]></title><link>https://blog.youkuaiyun.com/AppFramework/article/details/5218642</link><guid>https://blog.youkuaiyun.com/AppFramework/article/details/5218642</guid><author>AppFramework</author><pubDate>Wed, 20 Jan 2010 22:17:00 +0800</pubDate><description><![CDATA[    今天有人来公司推销网站安全扫描软件，演示了对JS的跨域脚本注入风险的扫描，以前没意识到，今天有所了解。如果您的程序页面有以下情况，那么JS脚本注入的风险就很大： 1）页面打开时，URL 有某个参数，例如 XXPage.aspx?XXParam=XXValue2）aspx页面里有如下代码：    var p = ""; 注入风险如下：1）黑客假冒网站身份发]]></description><category></category></item><item><title><![CDATA[设计文档写些什么才有用？]]></title><link>https://blog.youkuaiyun.com/AppFramework/article/details/4875539</link><guid>https://blog.youkuaiyun.com/AppFramework/article/details/4875539</guid><author>AppFramework</author><pubDate>Thu, 26 Nov 2009 08:03:00 +0800</pubDate><description><![CDATA[     一些公司用CMMI做软件开发过程管理，对详细设计过程要求很高，需产出Rose设计模型，画出序列图、活动图等等。本意是为了让Rose设计模型对后续的编码有指导意义。但实际实施过程中发现效果不佳，一是有人不愿意认真写详细设计文档，二是有人不愿意看详细设计文档，问题如下：     1）当详细设计和编码人员实际为同一人时：既然是同一人，自己做事心里有数，整体想清楚了就开始编码，而不愿意写]]></description><category></category></item><item><title><![CDATA[从几个方面评价软件设计的合理性？]]></title><link>https://blog.youkuaiyun.com/AppFramework/article/details/4859457</link><guid>https://blog.youkuaiyun.com/AppFramework/article/details/4859457</guid><author>AppFramework</author><pubDate>Mon, 23 Nov 2009 22:05:00 +0800</pubDate><description><![CDATA[1、问题的提出      很多程序员写程序，想到哪写到哪，缺乏一个整体规划。结果随着代码的堆积，软件内部结构就乱得一团糟。想要修改一个地方，影响这、影响那，牵一发而动全身。最后不得不重构，甚至从根基重构---直接推倒重来! 一个欠设计的系统会随着规模的扩大加速死亡；而一个设计考究的系统，则可以长久保持年轻，后期维护成本也会降低。 2、软件设计评价      软件设计分为几个层面：框架级]]></description><category></category></item><item><title><![CDATA[一种分布式数据库同步方案]]></title><link>https://blog.youkuaiyun.com/AppFramework/article/details/2652508</link><guid>https://blog.youkuaiyun.com/AppFramework/article/details/2652508</guid><author>AppFramework</author><pubDate>Tue, 15 Jul 2008 10:25:00 +0800</pubDate><description><![CDATA[    对于大型企业，业务分布在世界各地，为了改善当地业务服务能力，不得不在当地部署数据库以提高性能，而各个区域之间的数据交互或者同步，成为不可不面对的问题。其间要解决的技术问题主要有：    1、同步数据的提取。从数据库里提取出需要同步的数据，这包括增、删、改三类动作对数据造成的改变。在数据表安装触发器是提取同步数据的简单有效的手段，而且触发器对应用层而言是透明的，应用程序感觉不到触发器的存在。]]></description><category></category></item><item><title><![CDATA[用 Microsoft.mshtml.dll 和 WebClient 自己实现网页保存为 MHT 文件]]></title><link>https://blog.youkuaiyun.com/AppFramework/article/details/2418984</link><guid>https://blog.youkuaiyun.com/AppFramework/article/details/2418984</guid><author>AppFramework</author><pubDate>Thu, 08 May 2008 21:44:00 +0800</pubDate><description><![CDATA[相信大家经常用IE保存网页功能保存有价值的网页，但是IE的网页保存功能做的不是太好，经常会有些页面保存失败。我也深受其烦，好在本人是程序员，程序员最大的好处是会自己编软件。正好我自己开发了个多页签浏览的IE，于是便在其中增加了网页保存为MHT文件的功能。网页保存为MHT功能主要包含以下几个关键问题：1）修改所有相对链接为绝对链接；2）把网页内容连同包含的 JS、图片、CSS等文件下载到]]></description><category></category></item><item><title><![CDATA[用 WeifenLuo.WinFormsUI 实现 VS2005 风格的多页签浏览器]]></title><link>https://blog.youkuaiyun.com/AppFramework/article/details/2418814</link><guid>https://blog.youkuaiyun.com/AppFramework/article/details/2418814</guid><author>AppFramework</author><pubDate>Thu, 08 May 2008 21:02:00 +0800</pubDate><description><![CDATA[效果图：使用起来还比较简单，关键点说明：1）在主窗口客户区放置一个DockPanel，设置如下事件：// TAB切换时会触发的事件，在这里切换主窗口公用工具栏和状态条： dockPanel.ActiveDocumentChanged += new EventHandler(dockPanel_ActiveDocumentChanged);2）每个TAB标签实际上是一个Form，]]></description><category></category></item><item><title><![CDATA[最近用VS2005C#开发的IE内核多页签浏览器，支持多线程下载和在后台保存MHT]]></title><link>https://blog.youkuaiyun.com/AppFramework/article/details/2310049</link><guid>https://blog.youkuaiyun.com/AppFramework/article/details/2310049</guid><author>AppFramework</author><pubDate>Sun, 20 Apr 2008 22:29:00 +0800</pubDate><description><![CDATA[最近用VS2005C#开发的IE内核多页签浏览器，支持多线程下载和在后台保存MHT，名字还没定，请大家帮忙想个好名字吧：） 1. 总体界面：VS2005风格，渐变色工具条背景、四边停靠栏，多页签浏览：2．菜单：VS2005风格，注意看跟VS2005自带的ToolStrip显示有点不一样哦，主菜单背后有阴影，效果不错吧！嘿嘿。1）文件菜单支持保存网页，是在后台下载的，而不像I]]></description><category></category></item><item><title><![CDATA[利用 Monitor.TryEnter 来规避 .NET 线程死锁的源代码]]></title><link>https://blog.youkuaiyun.com/AppFramework/article/details/2254207</link><guid>https://blog.youkuaiyun.com/AppFramework/article/details/2254207</guid><author>AppFramework</author><pubDate>Sun, 06 Apr 2008 03:12:00 +0800</pubDate><description><![CDATA[在开发多线程的应用程序时，我们会大量用到 lock (...) {} 块。如果 lock 的对象比较多，非常容易发生死锁。死锁的发生很难预料，而且一旦发生在界面线程上，界面就不再刷新响和应用户输入；如果发生在后台线程，后台线程也就阻塞不工作了，死锁必然会导致应用程序不可用。在.NET里发生死锁的原因是什么？以 C# 为例，通常 lock 语句是被转化为对一个资源的无限长时间的等待，所以一旦资源]]></description><category></category></item><item><title><![CDATA[近期 IE 打开新浪搜狐网页 CPU 使用率高的解决方法]]></title><link>https://blog.youkuaiyun.com/AppFramework/article/details/2205634</link><guid>https://blog.youkuaiyun.com/AppFramework/article/details/2205634</guid><author>AppFramework</author><pubDate>Sat, 22 Mar 2008 13:50:00 +0800</pubDate><description><![CDATA[近期电脑不知道是感染了什么毛病，IE（6.0）只要打开新浪网页，CPU使用率就高达100%，并且在关闭IE的时候，CPU也会达到100%。找了很多帖子都没有解决方法，用各种杀毒软件、木马克星也找不到病毒和后门。有个帖子废话连篇，我试过都没用（还被多处转贴）。后来我发现“服务”管理器里有一个“Contrl Center of Storm Media”服务，好像是 影音风暴(Stom) 安装上去的，把]]></description><category></category></item><item><title><![CDATA[截获IE控件下载事件并实现多线程断点续传下载总结]]></title><link>https://blog.youkuaiyun.com/AppFramework/article/details/2114892</link><guid>https://blog.youkuaiyun.com/AppFramework/article/details/2114892</guid><author>AppFramework</author><pubDate>Sat, 23 Feb 2008 12:23:00 +0800</pubDate><description><![CDATA[截获IE控件下载事件并实现多线程断点续传下载总结。1、截获IE的下载文件事件。有几个关键点：1）获取文件名；2）获取文件长度；3）决定是启动自己的多线程下载程序来下载文件还是继续让IE下载文件；4）注意容错；2、多线程下载的实现。要点如下：1）应对 referrer 防盗链验证；2）应对 Cookie 会话验证；3）应对 HttpWebRequest默认的只有2个并发连接限制；4）设置多线程分块5）写文件；参考代码：]]></description><category></category></item><item><title><![CDATA[介绍一个对IE控件封装最好的COM组件-csExWB]]></title><link>https://blog.youkuaiyun.com/AppFramework/article/details/2078102</link><guid>https://blog.youkuaiyun.com/AppFramework/article/details/2078102</guid><author>AppFramework</author><pubDate>Sat, 02 Feb 2008 12:51:00 +0800</pubDate><description><![CDATA[前段时间研究 IE 开发，在网上找了好久，终于找到一个叫做　csExWB  的组件。csExWB 分两个部分，一个部分是用 VC6 写的COM 组件，实现了包括 IDownloadManager 在内的诸多借口；第二部分是用 CSharp 写的，是对 前面写的 COM 组件再做一次 .Net 封装。我用这个控件修改了自己的的 MyIE，代码少了很多，并且可以实现类似迅雷、Flashget 截获]]></description><category></category></item><item><title><![CDATA[对 WebBrowser 和 AxWebBrowser 两个控件使用经验的一点补充]]></title><link>https://blog.youkuaiyun.com/AppFramework/article/details/2056681</link><guid>https://blog.youkuaiyun.com/AppFramework/article/details/2056681</guid><author>AppFramework</author><pubDate>Mon, 21 Jan 2008 14:19:00 +0800</pubDate><description><![CDATA[几天前我写过一篇文章介绍使用 AxWebBrowser 控件作扩展， http://blog.youkuaiyun.com/AppFramework/archive/2008/01/16/2047610.aspx 。后来发现有些问题：1）打开HTML界面不是XP风格的平面式的，是老式的3D风格的。而用.Net自带的 WebBrowser 控件打开的页面是XP风格的。2）直接使用AxWebBrowser]]></description><category></category></item><item><title><![CDATA[基于AxWebBrowser实现完美的标签式浏览器，下载地址：http://download.youkuaiyun.com/source/337096]]></title><link>https://blog.youkuaiyun.com/AppFramework/article/details/2047610</link><guid>https://blog.youkuaiyun.com/AppFramework/article/details/2047610</guid><author>AppFramework</author><pubDate>Wed, 16 Jan 2008 22:20:00 +0800</pubDate><description><![CDATA[由于一时的头脑发热，花了两个晚上基于AxWebBrowser写了一个浏览器MyIE。现在用这个浏览器发的帖子，有点小市民的成就感，嘿嘿。源代码可以在本人的资源里下载到，下载地址：http://download.youkuaiyun.com/source/337096这里简单总结如下：1、VS2005自带的WebBrowser功能较少（网上资源也不多），AxWebBrowser控件暴露的事件更多些。]]></description><category></category></item><item><title><![CDATA[关于开闭原则的理解]]></title><link>https://blog.youkuaiyun.com/AppFramework/article/details/2041177</link><guid>https://blog.youkuaiyun.com/AppFramework/article/details/2041177</guid><author>AppFramework</author><pubDate>Sun, 13 Jan 2008 11:54:00 +0800</pubDate><description><![CDATA[开闭原则：设计一个模块的时候，应当使这个模块可以在不修改原有代码的前提下被扩展。这个原则是保证系统具有扩展性的基本原则。我理解有几个要点：1、要能够复用；2、扩展时只增加新方法、新类；3、不得不修改代码时，修改的范围必须是局部的、隐藏的；通常变更有三种方式，一种是横向变更，例如售票系统，原来只能售火车票，现在要可以售机票；第二种是纵向变更，例如在某个流程里插入新活动或跳过活动；第三种是局部]]></description><category></category></item><item><title><![CDATA[模拟星空的MFC源代码_Sky.RAR，下载地址：http://download.youkuaiyun.com/source/332601]]></title><link>https://blog.youkuaiyun.com/AppFramework/article/details/2038643</link><guid>https://blog.youkuaiyun.com/AppFramework/article/details/2038643</guid><author>AppFramework</author><pubDate>Fri, 11 Jan 2008 23:43:00 +0800</pubDate><description><![CDATA[http://download.youkuaiyun.com/source/332601 代码写得还是比较经典的，2002年用 C# 写了第一版，3年后用 C++ 重写。]]></description><category></category></item><item><title><![CDATA[用AppFramework重写Discuz数据访问层源代码]]></title><link>https://blog.youkuaiyun.com/AppFramework/article/details/2034449</link><guid>https://blog.youkuaiyun.com/AppFramework/article/details/2034449</guid><author>AppFramework</author><pubDate>Thu, 10 Jan 2008 21:54:00 +0800</pubDate><description><![CDATA[下载地址：http://download.youkuaiyun.com/source/331414 修改的地方主要有:1）在解决方案里增加了“Discuz.Data.AppFramework”项目2）AppFramework插件生成的代码放在“Discuz.Data.AppFramework”项目的GenerateCode目录下3）对论坛管理的数据访问类源代码ForumManage.cs做了重]]></description><category></category></item><item><title><![CDATA[对数据库事务处理代码通常写法的一点改进]]></title><link>https://blog.youkuaiyun.com/AppFramework/article/details/2028330</link><guid>https://blog.youkuaiyun.com/AppFramework/article/details/2028330</guid><author>AppFramework</author><pubDate>Mon, 07 Jan 2008 10:16:00 +0800</pubDate><description><![CDATA[通常数据库事务处理代码都采用如下的模式编写：打开数据库连接();try{    开启事务();    数据库操作1();    数据库操作2();    ......;    数据库操作n();    提交事务();}catch (Exception err){    回滚事务();    throw err; // 重新抛出异常（导致异常的堆栈信息发生变化，无法知道原始异常所在位置，不利于调]]></description><category></category></item><item><title><![CDATA[用 AppFramework 替换 Discuz!NT 的数据库访问层]]></title><link>https://blog.youkuaiyun.com/AppFramework/article/details/2027513</link><guid>https://blog.youkuaiyun.com/AppFramework/article/details/2027513</guid><author>AppFramework</author><pubDate>Sun, 06 Jan 2008 16:00:00 +0800</pubDate><description><![CDATA[（一）分析DIscuz!NT 支持2种数据源，SqlServer和MSAccess，但其数据库访问层实际上已经支持了 MySQL，只是安装程序还未提供基于 MySQL  的。 Discuz!NT采用了"页面类 -> 业务类 -> 数据库访问类 -> DbHelper -> 数据库"这样的分层方式。数据库访问类有1个大接口3个大实现。所谓大接口就是 IDataProvider 接口，定义了9]]></description><category></category></item><item><title><![CDATA[AppFramework最新版本V1.2安装包下载地址：http://download.youkuaiyun.com/source/334024【原V1.1/1.0版本的用户应尽快下载V1.2版】]]></title><link>https://blog.youkuaiyun.com/AppFramework/article/details/1946270</link><guid>https://blog.youkuaiyun.com/AppFramework/article/details/1946270</guid><author>AppFramework</author><pubDate>Tue, 18 Dec 2007 10:01:00 +0800</pubDate><description><![CDATA[安装包下载地址：http://download.youkuaiyun.com/source/334024 SOCKET 网络日志接收器下载地址：http://download.youkuaiyun.com/source/327016V1.2修改记录：1）修改了 V1.1/V1.0 的代码生成bug：当主键是字符串类型时，生成重复的DAO方法导致编译失败。2）修改了 TextParameter 类名为 Te]]></description><category></category></item></channel></rss>