8天玩转并行开发——第六天 异步编程模型
在.net里面异步编程模型由来已久,相信大家也知道Begin/End异步模式和事件异步模式,在task出现以后,这些东西都可以被task包装起来,可能有人会问,这样做有什么好处,下面一一道来。一: Begin/End模式1: 委托 在执行委托方法的时候,我们常常会看到一个Invoke,同时也有一对你或许不常使用的BeginInvoke,EndInvo …… 阅读全文
在.net里面异步编程模型由来已久,相信大家也知道Begin/End异步模式和事件异步模式,在task出现以后,这些东西都可以被task包装起来,可能有人会问,这样做有什么好处,下面一一道来。一: Begin/End模式1: 委托 在执行委托方法的时候,我们常常会看到一个Invoke,同时也有一对你或许不常使用的BeginInvoke,EndInvo …… 阅读全文
其实说到上一篇,我们要说的task的知识也说的差不多了,这一篇我们开始站在理论上了解下“线程池”和“任务”之间的关系,不管是说线程还是任务,我们都不可避免的要讨论下线程池,然而在.net 4.0以后,线程池引擎考虑了未来的扩展性,已经充分利用多核微处理器架构,只要在可能的情况下,我们应该尽量使用task,而不是线程池。首先看一下task的结构从图中我们可以看出Task.Factory.Start... …… 阅读全文
最后一篇,我们来说说vs的“性能向导",通常我们调试程序的性能一般会使用Stopwatch,如果希望更加系统的了解程序,我们就需要用到”性能向导“,通过性能报告便于我们快速的发现并找到潜在的性能问题。首先我们上一段需要改进的代码: 1 using System; 2 using System.Collections.Generic; 3 using S …… 阅读全文
一次性插入上万条数据的写法1.[csharp]view plaincopy//////DataTable批量添加(有事务)//////数据源///定义数据源和目标源列的关系集合///目标表publicstaticboo …… 阅读全文
最近用到这个东西,发现网上并没有现成可用的解决方案。这里给出我的解决办法~anydesk虽然小巧但是不稳定,teamview功能更强大也更稳定一点。 **方案一**使用TeamView自带的API来实现远程控制。(AnyDesk好像没有开放的接口)优点:简单。缺点:需要通过 …… 阅读全文
Windows Service这一块并不复杂,但是注意事项太多了,网上资料也很凌乱,偶尔自己写也会丢三落四的。所以本文也就产生了,本文不会写复杂的东西,完全以基础应用的需求来写,所以不会对Windows Service写很深入。本文介绍了如何用C#创建、安装、启动、监控、卸载简单的Windows Service 的内容步骤和注意事项。一、创建一个Windows Service …… 阅读全文
通常来讲一个BS项目肯定不止单独的一个BS应用,可能涉及到很多后台服务来支持BS的运行,特别是针对耗时较长的某些任务来说,Windows服务肯定是必不可少的,我们还需要利用B/S与windows服务进行交互,来实现更好的用户体验,搭配redis,memcached等来实现分布式缓存,消息列队处理等等。。。但是通常情况我们在B/S端是无法得知其依赖的windows服务当前处于什么样的运行状态 …… 阅读全文
先前用过两次SignalR,但是中途有段时间没弄了,今天重新弄,发现已经忘得差不多了,做个笔记!首先创建一个控制台项目Nuget添加引用联机搜索:Microsoft.AspNet.SignalR.SelfHostMicrosoft.Owin.Cors在Program.cs添加代码添加一个Hub这个hub里面我们就实 …… 阅读全文