代码改变世界

随笔分类 -  C#|.Net

【C#|.NET】从控制反转(依赖注入)想到事件注入 (非AOP)

2011-12-21 15:16 by 熬夜的虫子, 6962 阅读, 收藏, 编辑
摘要: 前文事件注入的想法是由依赖注入所联想到依赖注入不算什么吸引人的话题本篇就不详说了不过有闲暇时间的机会不妨按照自己的兴趣去摸索、研究一些东西,也是一种乐子。在抓虫系列里简单的描述一下依赖注入在项目中的应用场景抓虫(五) 浅谈依赖注入与控制反转关于依赖注入推荐T2噬菌体同学的一篇文章 依赖注入那些事儿关于事件注入已添加进我的设计模式 【系列索引】结合项目实例 回顾传统设计模式 打造属于自己的模式类系列 概要所谓事件注入是我一时兴起随便杜撰的词,其思想借鉴依赖注入。当然看到这个词很多同学会想到AOP,这里先不置可否。依赖注入(Dependency Injection),是这样一个过程:由于某客户类只 阅读全文

XSS跨站脚本实例

2011-11-13 11:35 by 熬夜的虫子, 2000 阅读, 收藏, 编辑
摘要: 刚毕业时候的做的报告,整理文档的时候搜了出来,可能不是很正确仅供参考了URL注入例如在页面上输入http://localhost/SNDA.BBSEngine.UI.ALWeb/TopicContent.aspx?BoardID=59&TopicID=6890&Page=1-->'");></SCRIPT></style></title></textarea><SCRIPT>alert("haha")</SCRIPT>查看源文件里的会有这样的代码<A 阅读全文

抓虫系列(五) 浅谈依赖注入与控制反转

2011-10-23 23:09 by 熬夜的虫子, 3384 阅读, 收藏, 编辑
摘要: 前篇回顾:前篇虫子介绍了3个"池"中线程池的相关问题,不过谬论的可能性比较大 仅代表虫子的个人观点了- -本章结合实例给大家阐述下依赖注入与控制反转可以给自己的项目带来哪些优缺点。先回顾下OO的一些设计原则:开放封闭原则 软件实体(类、模块、函数等)应该是可以开展的,但是不可修改。依赖倒置原则 抽象不应该依赖于细节。细节应该依赖于抽象。接口隔离原则 不应该强迫客户依赖于它们不用的方法。接口属于客户,不属于它所在的类层次结构。单一职责原则 就一个类而言,应该仅有一个引起它变化的原因。......随着面向对象分析与设计的发展,一个良好的设计,核心原则之一就是将变化隔离,使得变化 阅读全文

抓虫系列(四) 不要轻视web程序中常用的三个"池" 之线程池

2011-10-22 14:12 by 熬夜的虫子, 904 阅读, 收藏, 编辑
摘要: 前篇回顾:上篇讲了数据库连接池的问题,其实关于是否是活动连接还是有很大问题可以挖掘的。这个有空虫子再和大家交流了本篇谈下线程池的相关问题,希望各位看官留个爪印,应用程序池和数据库连接池可能大部分程序员不需要关心那个,不过线程池可所谓是重头戏了。先把虫子的观点放上: 个人表示排斥在项目中使用ThreadPool这个类,至于.net中关联到ThreadPool的资源我们暂且不做讨论。如果需要操作线程池可以使用第三方例如SmartThreadPool或者自己按照自己的项目需求开发一个。线程池的相关概念我就不多说了,同样这里我只介绍下。线程池中容易被忽视的问题。一. 相对池外线程,池内线程操作的性能极 阅读全文

【系列索引】3年再回头系列 本系列为虫子学习整理 非虫子原创

2011-10-22 12:59 by 熬夜的虫子, 447 阅读, 收藏, 编辑
摘要: 此系列文章大部分为网上资料或者参考其他博主的博文 如果有涉及到版权问题 请和虫子联系3年经验回头再学Asp.net系列--基础篇(序)3年经验回头再学Asp.net系列--基础篇(一)3年经验回头再学Asp.net系列--基础篇(二)3年经验回头再学Asp.net系列--基础篇(三)3年经验回头再学Asp.net系列--基础篇(四)3年经验回头再学Asp.net系列--基础篇(五)3年经验回头再学Asp.net系列--基础篇(六) 阅读全文

抓虫系列(三) 不要轻视web程序中常用的三个"池" 之数据库连接池

2011-10-20 14:31 by 熬夜的虫子, 2045 阅读, 收藏, 编辑
摘要: 前篇回顾:应用程序池在项目中引发的问题不多,不过如果遇到了没有经历过的话可能会比较茫然,呵呵。当然重点还是数据库连接池与线程池了。本篇虫子就结合demo程序给大家演示下数据库连接池会给大家的程序带来什么样的影响。private string mConnectionString = "server=127.0.0.1;uid=chongzi;pwd=123456;database=AntiXSS;Connection Reset=FALSE;Max Pool Size=15"连接字符串中设定池化,池的最大数目为15 [Serializable] public class DA 阅读全文

抓虫系列(二) 不要轻视web程序中常用的三个"池" 之应用程序池

2011-10-19 15:34 by 熬夜的虫子, 2048 阅读, 收藏, 编辑
摘要: 前篇回顾:上一篇虫子给大家介绍了线程安全中容易出错的地方 内容不深 引发大家的思考与关注 看似简单的小程序可是为引发大麻烦的额 ~ ~下面虫子给大家介绍下web应用范围的应用程序池、线程池以及数据库连接池中容易出现的问题首先来看应用程序池你的session丢失了吗?! 有 当然有 不过我们一般都是设置超时时间或者新版本更新修改了配置文件导致丢失的。好吧,可以预见的异常虫子就不和大家多扯了。 应用程序池是将一个或多个应用程序链接到一个或多个工作进程集合的配置。因为应用程序池中的应用程序与其他应用程序被工作进程边界分隔,所以某个应用程序池中的应用程序不会受到其他应用程序池中应用程序所产生的问题的影 阅读全文

抓虫系列(一) 从简单程序开始 线程安全

2011-10-19 12:03 by 熬夜的虫子, 2734 阅读, 收藏, 编辑
摘要: 简单的程序也可以存在很多值得思考的地方,作为一名程序员或者架构师,首先要具备的就是追根和追新的心态。抓虫系列的代码我想大部分人都接触过或者犯过这样的错误,有些可能涉及的知识面很基础很浅,留个烂文在此引导新手、路人。虫子尽量将问题放大,追的深一点偏一点,如果大家有其他自己的想法或者补充也可以留爪印。PS一下:看了下面的评论,大家有点误会虫子的意思了,此系列的博文旨在抓虫,从抓虫中关注我们的程序中容易出现的问题而并非是找寻更佳的解决方案 嘿嘿~ ~先看原始bug程序class testObj { public object Result { get; set; } ... 阅读全文