Fork me on GitHub

2012年7月27日

摘要: 前几天公司内部有人搞了一个关于多线程及其同步问题的讲座,内容很丰富,覆盖面很广,让人听了大呼过瘾。他采取了横向铺陈的方法讲的,罗列了C#下异步编程方法和模式及各种同步机制,这种讲述方式对于熟悉这块的人来说总结一下,帮助很大,但对于新手有可能就云里雾里了。虽然我研究不深,但纵向讲一下这一块内容,对新手入门有可能会有所帮助,也算是自己对这块内容的一种总结。只讨论技术,不涉及细节和Demo。 本篇文章涵盖一下几部分内容: 1. 什么是异步编程,为什么会需要异步编程 2. .NET下的异步编程及其发展 3. .NET线程同步机制及线程间数据封送 4. 异步模式 5. 线程安全及异常处理 6. 线程取消 阅读全文
posted @ 2012-07-27 10:20 HackerVirus 阅读(217) 评论(0) 推荐(0)
摘要: 前一段时间,写了一步一步asp.net的一系列博客,最近,也快要大四,忙着准备找个工作,这也算是最后一个假期了,这个系列可能不太长,尽量写完.还是多学习,少扯淡的风格,我们的学习还好继续,现在开始学习asp.net MVC系列,基础知识,大家看博客园相关的一系列就可以了,我们在这里学一下一个权限管理的设计.我采用的是Asp.net MVC+EF+N层的方式,顺便加入点spring.net注入的部分,当然我们最主要的还是关于权限设计的部分.而架构,咱也没学过太复杂的架构,我们还是从最常用的三层架构进行扩展.参考书籍:<<重构,改善既有代码的设计>> <<.ne 阅读全文
posted @ 2012-07-27 10:18 HackerVirus 阅读(294) 评论(0) 推荐(0)
摘要: ProductsJava IDE — IntelliJ IDEAPHP IDE — PhpStormJavaScript IDE — WebStormPython and Django IDE — PyCharmRuby & Rails IDE — RubyMineObjective-C IDE — AppCodeLanguage-oriented programming — MPSVisual Studio extension — ReSharper.NET profiler — dotTrace.NET code coverage tool — dotCoverFree .NET 阅读全文
posted @ 2012-07-27 10:08 HackerVirus 阅读(201) 评论(0) 推荐(0)
摘要: 我们把各个模块编译出来的assembly和各个模块的配置文件自动放到一个bin平级的plugin目录,然后web应用启动的时候自动扫描这个plugin目录并加载各个模块plugin,这个怎么做到的?大家也许知道,ASP.NET只允许读取Bin目录下的assbmely,不可以读取其他路径,包括Bin\abc等,即使在web.config这样配置probing也不行:(不信你可以试一下) 1: <configuration> Element 2: <runtime> Element 3: <assemblyBinding xmlns="urn:schemas 阅读全文
posted @ 2012-07-27 10:06 HackerVirus 阅读(254) 评论(1) 推荐(0)
摘要: 英语出国常用单词和句型摘要: 出国常用的单词和句型,包括问路,驾车,宾馆,机场等语境阅读全文posted @2008-01-23 22:03Mainz 阅读(705) |评论 (1)编辑英语介词用法摘要: 英语介词用法概述阅读全文posted @2008-01-23 21:31Mainz 阅读(4931) |评论 (1)编辑英语语法手边书摘要: 英语语法快速浏览阅读全文posted @2008-01-23 21:22Mainz 阅读(1026) |评论 (1)编辑Exception Handling Best Practices in .NET摘要: Contrary to common be 阅读全文
posted @ 2012-07-27 10:01 HackerVirus 阅读(237) 评论(0) 推荐(0)
摘要: 临时禁用ResharperResharper是一个VisualStudio插件,VS2010利器,能大大提高编程效率,实现了VS没有实现的很多功能,例如代码检查、自动重构、自动生成LINQ语句、编码建议等,个人非常喜欢。但Resharper5,Resharper6经常会导致VS2010崩溃异常退出,这个问题很烦人,只有一个解决办法,那就是临时禁用Resharper。在VS2010 -Tools - Options -Resharper- Suspend即可。如下图:附:VS2010常用快捷键(有些是个人自定义的Tools – Options – Environment - Keyboard)C 阅读全文
posted @ 2012-07-27 09:43 HackerVirus 阅读(219) 评论(0) 推荐(0)
摘要: TeamCity扩展——构建脚本与TeamCity交互2011-01-08 23:48TeamCity中本身自带了一些单元测试插件,如Nunit、Junit、MSTest等,使用TeamCity自带的测试插件执行测试案例,TeamCity服务器会自动收集测试结果,然而那些TeamCity不支持的插件该如果做呢?我们可以通过修改构建脚本将测试结果进行标准输出,然后TeamCity服务器会捕获标准输出信息,实现测试结果的收集。从而实现及时显示测试结果,我们可以在Build Results页面中看到Tests标签,记录了每个案例的信息。If TeamCity doesn't support 阅读全文
posted @ 2012-07-27 09:22 HackerVirus 阅读(1267) 评论(0) 推荐(0)

2012年7月26日

摘要: 最近在琢磨并发操作控制的问题,在此小小总结一下关于状态保持机制和并发解决方案,如有问题希望大家留言指正。并发问题分为几类:1.一个办理页面仅允许一个人进,第二个人再点就提示已经被别人访问,难点在于如何解决用户非法退出时放锁。2.一个人“签出”后另一个人无法办理。(这是情景1的简化版)3.多个人同时点“提交”按钮,但是系统应该只允许第一个人成功,后面的人都应该提交失败。4.一个人更新了表单的内容到数据库,另一个人w3wp进程的用户刷新后依旧读缓存而没读取数据库,缓存不同步。情景1和2已经在我另一篇帖子里解决了,这里主要讨论情景3和4的解决方案.对于这种提交操作,大体来讲可以把并发控制的执行流程分 阅读全文
posted @ 2012-07-26 22:58 HackerVirus 阅读(280) 评论(0) 推荐(0)
摘要: http://blog.zhaojie.me/使用Mono.Cecil辅助ASP.NET MVC使用dynamic类型Model2011-09-05 16:21by 老赵, 4552 visits这也是之前在珠三角技术沙龙上的示例之一,解决的是在ASP.NET MVC使用dynamic类型Model时遇到的一个真实问题。C# 4编译器支持dynamic类型,因此在编写页面模板的时候自然就可以把它作为视图的Model类型。表现层的需求很容易改变,因此dynamic类型的Model可以减少我们反复修改强类型Model的麻烦,再配合匿名类型的使用,可谓是动静相宜,如鱼得水。不过,如果把一个匿名类型直 阅读全文
posted @ 2012-07-26 17:48 HackerVirus 阅读(300) 评论(0) 推荐(0)
摘要: jQuery EasyUI MC3的应用实例 之前写过一个WebForm和Jquery EasyUI结合的实例,一个用户管理,主要是帮助大家怎样把WebForm及MVC和EasyUI结合起来做项目。这里只有简单实例及入门方法,下面就主要贴图及附源码供大家下载!这里依然套用疯狂秀才的界面。代码有借鉴博客园一哥们,并进行了修改。此部分代码可以参考之前WebForm列表页面:添加页面:主要一个了自带控件没有直接使用客户端控件,随后整理全部使用EasyUI控件,表达你提交此处使用了jQuery form提交下面附上通用js代码:View Code今天简单就到这里吧!QQ群:92257772 希望大家能 阅读全文
posted @ 2012-07-26 17:29 HackerVirus 阅读(411) 评论(0) 推荐(1)