Fork me on GitHub

2014年3月19日

摘要: C#异常处理经验(原则与方法)本文是异常处理经验性的文章,其实跟C#关系也不大。比较适合刚刚熟悉异常语法,而缺乏实战的读者。当然,经验老练的读者也可指出不足、给予意见、补充说明,一起完善文章,分享更多知识与经验。1、什么时候该异常处理?1)代码最外层,如WinFrom,避免用户看到内部异常信息用户体验不好,或者造成程序崩溃。2)遇到异常需要恢复状态或者重试的地方。例如连接数据库偶然失败了,可以有个重连机制,在Catch块重新连接数据库。3)对于一系列有可能失败的任务,其中有一个任务失败,不想影响到其他任务。例如要上传100张图片,不想因为一张图片上传发生异常而失败,进而终止整个上传任务,仅需要 阅读全文
posted @ 2014-03-19 21:20 HackerVirus 阅读(281) 评论(0) 推荐(0)
摘要: EntityFramework中支持BulkInsert扩展本文为Dennis Gao原创技术文章,发表于博客园博客,未经作者本人允许禁止任何形式的转载。前言很显然,你应该不至于使用 EntityFramework 直接插入 10W 数据到数据库中,那可能得用上个几分钟。EntityFramework 最被人诟病的地方就是它的性能,处理大量数据时的效率。此种条件下,通常会转回使用 ADO.NET 来完成任务。但是,如果已经在项目中使用了EntityFramework,如果碰到需要直接向数据库中插入 10W 的数据的需求,引入 ADO.NET 和 SqlBulkCopy 的组合将打破Entity 阅读全文
posted @ 2014-03-19 21:17 HackerVirus 阅读(1643) 评论(1) 推荐(0)

2014年3月18日

摘要: 随笔- 102 文章- 3 评论- 476发布订阅 - 基于A2DFramework的事件机制实现SUMMARY能做什么DEMO原理图应用场景能做什么A2DFramework的事件机制是基于发布订阅模式改进得来的一套API,中间件部分实现了msmq、redis、Supersocket可替换。能够实现较彻底的模块事件传递过程中的解耦,支持分布式环境。由于订阅端采用了消息队列作为转发层,因此也能支持事件量很大的场景。DEMODemo工程下载地址(可右键保存):发布订阅Demo.rar一、建立各个工程,并且加入A2DFramework.EventService的引用二、给各个工程加入A2D基本代码, 阅读全文
posted @ 2014-03-18 22:21 HackerVirus 阅读(252) 评论(0) 推荐(0)
摘要: 事件机制与消息机制的架构设计区别(一)公司一个项目中有这样一个情景:这是一个C/S架构的软件,S端采集各类第三方系统数据,传输到C端,然后在C端将数据整合成一个个的业务对象,同时针对各类业务对象,编写了相应的展示UI;用户在二次开发时,根据实际需要将业务对象与展示UI进行匹配,最后形成对第三方系统数据的动态显示。其实说白了就是类组态软件,这个在很多行业都有类似的软件。 在这个场景中,实际上涉及到这样一种需求:要求业务对象的数据变化能够传递到UI对象中,以触发UI对象的展示逻辑,进而形成实时动态数据显示。 在设计C端架构时,针对这个需求,我和同事提出了两种架构设计:第一种:我的设计PS:没有.. 阅读全文
posted @ 2014-03-18 22:08 HackerVirus 阅读(1046) 评论(0) 推荐(0)
摘要: 你应该知道的.net平台下socket异步通讯(代码实例)1,首先添加两个windows窗体项目,一个作为服务端server,一个作为客户端Client2,然后添加服务端代码,添加命名空间,界面上添加TextBox控件using System.Net;using System.Net.Sockets;3,FormLoad方法添加代码private void Form1_Load(object sender, EventArgs e) { IPEndPoint epServer = new IPEndPoint(IPAddress.Parse("127.0.0... 阅读全文
posted @ 2014-03-18 22:04 HackerVirus 阅读(254) 评论(0) 推荐(0)
摘要: ASP.NET MVC 在控制器中获取某个视图动态的HTML代码如果我们需要动态的用AJAX从服务器端获取HTML代码,拼接字符串是一种不好的方式,所以我们将HTML代码写在cshtml文件中,然后通过代码传入model,动态获取cshtml中的HTML代码当然,我们想要使用通用的方法去获取cshtml,就必须重写RazorViewEngine视图引擎,配置视图搜索位置在查找一个视图时,Razor视图引擎遵循了MVC框架早期版本建立起来的约定。例如,如果你请求与Home控制器相关的Index视图,Razor会审查这样的视图列表:~/Views/Home/Index.cshtml● ~/View 阅读全文
posted @ 2014-03-18 21:56 HackerVirus 阅读(650) 评论(0) 推荐(0)
摘要: 4. web前端开发分享-css,js工具篇web前端开发乃及其它的相关开发,推荐sublime text, webstorm(jetbrains公司系列产品)这两个的原因在于,有个技术叫emmet, http://docs.emmet.io,而这两个对他的支持是:sublime text 是所有编辑器里边支持emmet比较好的的唯一一款。webstorm是所有编辑器里边唯一内置emmet的一款,并且将emmet的精神往前推动的一款。一. css工具:1. emmethttp://docs.emmet.io/a. 可以以插件的形式安装在dreamweaver,notepad++,editplu 阅读全文
posted @ 2014-03-18 21:42 HackerVirus 阅读(238) 评论(0) 推荐(0)
摘要: 给你的博客加上“Fork me on Github”彩带起 如今,随着Git的大热以及Github的优越性,许多知名开源项目都将源代码托管到Github上了。在Github上不仅可以托管自己的开源项目,还可以Fork人家的源代码,给自己感兴趣的项目评价(star)。即便不Fork,你还可以关注(watch)该项目,甚至上升到个人“崇拜”(follow)。当然,本篇并不来讲怎么使用Git和Github,关于这方面的教程网络上已经足够多了。Github官方给出的帮助也非常有用。这篇博客就说说怎么给自己的博客加上“Fork me on Github”彩带。 许多开源项目的首页上,往往会有“Fo... 阅读全文
posted @ 2014-03-18 21:39 HackerVirus 阅读(7092) 评论(2) 推荐(6)
摘要: VS2010几款超赞的扩展辅助工具总结前言 前两天刚把公司电脑系统和开发环境的重新安装http://www.cnblogs.com/aehyok/p/3603149.html,主要是由于公司电脑配置稍微低了一些,运行、调试太慢,又因为要做新的项目了,想让自己的开发效率稍微高点,所以重新重新安装。虽然VS2010IDE功能已经非常强大了,但是在有些地方还是可以优化,或者说有更合适的插件可以让我们用着更舒服、更方便、更快捷,本着提高开发效率的目的,于是搜罗了一下适合自己平时使用的辅助工具。 多谢博友@軒轅劍 给我提供的Web Essentials,功能太强大了,太赞了,多谢了。希望更多的博友受.. 阅读全文
posted @ 2014-03-18 21:36 HackerVirus 阅读(365) 评论(0) 推荐(0)
摘要: 如果调用ASP.NET Web API不能发送PUT/DELETE请求怎么办?理想的RESTful Web API采用面向资源的架构,并使用请求的HTTP方法表示针对目标资源的操作类型。但是理想和现实是有距离的,虽然HTTP协议提供了一系列原生的HTTP方法,但是在具体的网络环境中,很多是不支持的。比如有的浏览器只能发送GET和POST请求,客户端发送的PUT请求也不一定能够被服务器理解。除了客户端和服务器对请求采用的HTTP方法的制约外,像代理(Proxy)、网关(Gateway)等这些中间部件都具有针对HTTP方法的限制。[本文已经同步到《How ASP.NET Web API Works 阅读全文
posted @ 2014-03-18 21:34 HackerVirus 阅读(320) 评论(0) 推荐(0)