上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 26 下一页
  2011年11月25日
摘要: 首先需要明白的是同步和异步的区别,撇开生硬的定义不谈,就以线程IO请求来说,同步就是让一个线程A去进行IO请求,当请求没有完成之前,线程A一直不离不弃的在那里死等,直到得到请求,可以想象,如果运用同步到请求队列中,这将是一个耗时费力的工作。但是如果采用异步请求的时候,当线程A去进行IO请求的时候,没有得到请求结果之前,线程A可以去做别的事情。这样,利用这种方式,可以提高服务器的吞吐量,MSDN中对此解释如下: 异步操作通常用于执行完成时间可能较长的任务,如打开大文件、连接远程计算机或查询数据库。异步操作在主应用程序线程以外的线程中执行。应用程序调用方法异步执行某个操作时,应用程序可在异步方法执行其任务时继续执行。 阅读全文
posted @ 2011-11-25 17:55 程序诗人 阅读(3149) 评论(3) 推荐(2)
  2011年11月24日
摘要: 如果当一个页面中有大量的控件要涉及到UI交互,并且这些控件需要好多不同的参数,那么我们就不得不为这些控件声明具有不同参数的委托类型,然后再利用InvokeRequired来判断,最后编写世纪操控控件的代码。如果真是这样,那么这个工作量可真的是很大。并且这种Copy/Paste的工作可能让你发疯,重用性太差了,有没有好一点的方法呢?当然有: 通过观察发现,每个控件在进行线程和UI交互的时候,都需要判断以下是否需要进行线程交互(也就是判断是否需要InvokeRequired),那么这个操作能不能集成到一个类中完成呢? 阅读全文
posted @ 2011-11-24 18:33 程序诗人 阅读(850) 评论(5) 推荐(0)
摘要: Service contracts : 定义客户端可以使用哪些服务操作。 Data contracts : 定义服务传输的数据类型。WCF 定义了一些隐式数据契约,像 int、string 等,更多时候我们需要使用 DataContractAttribute 显式定义那些自定义数据结构的数据契约。 Fault contracts : 定义服务引发的错误信息,以及如何传递这些异常给客户端。 Message contracts : 允许我们直接操控服务消息内容和格式,可以是类型化或无类型的。 阅读全文
posted @ 2011-11-24 14:10 程序诗人 阅读(662) 评论(0) 推荐(0)
  2011年11月21日
摘要: 首先说明一下,我这里的异步方式是指获取代码文件的时候,采用的是异步方式,其原因就是我要搜索C:\Program Files文件夹下面的含有关键字为scyGroupBox的代码文件。那么,从我的描述就可以知道,这是一个相当费时的操作,而如果利用程序来遍历这个文件夹,其结果就是将要耗费数秒钟或者更长的时间,并且同步操作会导致界面在搜索完毕后才出来,这样用户就不得不等待几秒钟甚至是数十秒钟,这种体验是相当不友好的。 阅读全文
posted @ 2011-11-21 21:37 程序诗人 阅读(664) 评论(2) 推荐(2)
  2011年11月18日
摘要: 正则表达式默认情况下实现的是最大化匹配,这在有些情况下是非常不愿意出现的,比如下面这段代码: 阅读全文
posted @ 2011-11-18 19:49 程序诗人 阅读(4813) 评论(2) 推荐(0)
  2011年11月8日
摘要: 本来是想学习下IHttpAsyncHandler接口的,然后就打开VS2008,快速点击“文件”-->“新建”-->"网站",然后新建一个CometSQL的网站,再在网站下面新建三个类:ProcessAsyncHandler.cs、ProcessAsyncResult.cs、ProcesssMessageHandler.cs,这三个类分别继承自IHttpAsyncHandler、IAsyncResult以及IHttpHandler。本来搞到这儿貌似一切没问题,可是下面调试的时候,麻烦来了 阅读全文
posted @ 2011-11-08 23:15 程序诗人 阅读(481) 评论(0) 推荐(0)
  2011年10月30日
摘要: 一提到正则表达式,相信好多人都不会陌生,并且很多时候,我们都用过,比如说验证邮箱或者是手机号码的正确性等等,在.NET中,提供了强大的正则表达式辅助类,最主要的还是要数Regex类,利用这个类,可以非常方便的来操作正则表达式的匹配工作: 阅读全文
posted @ 2011-10-30 17:02 程序诗人 阅读(764) 评论(0) 推荐(0)
  2011年10月26日
摘要: 本节主要是实现数据库表一对多之间的映射关系。首先,我们需要创建一个Blogs表和一个Posts表,一个Blogs表中可以有多个文章(Posts),典型的一对多的关系: 阅读全文
posted @ 2011-10-26 23:12 程序诗人 阅读(2171) 评论(0) 推荐(1)
  2011年10月24日
摘要: 我以前在使用飞鸽传书功能的时候,发现只要打开这个软件,局域网中的用户就会瞬间加载到我的用户列表中,同时在局域网中的用户的列表中马上也会加载我自己的用户信息。而且,飞鸽传书软件没有依靠服务器端的中转,也就是说,完全是客户端的功能。 那么这种机制到底是如何实现的呢?下面来一步一步的剖析。 阅读全文
posted @ 2011-10-24 21:16 程序诗人 阅读(2986) 评论(17) 推荐(4)
  2011年10月23日
摘要: 在C#操作数据库过程中,针对一般的文本控件,比如TextBox,Label等,我们赋值直接使用类似TextBox.Text=****的方式来进行,这种方式从某种意义上来说的确是最简便的方式,但是对于复杂一些的空间,比如说DataGridView,这个时候,绑定数据源我们一般使用DataGridView1.DataSource=****的方式来进行,如果数据源稍微有更改,那么只需要重新调用绑定一遍即可。可以说这种方式是单向的,也即从数据库到UI,但是有没有一种方式能够实现数据源改变的时候,不用重新绑定DataGridView就让它能够自动刷新数据呢,当然,这里要提到的就是DataBinding了。 阅读全文
posted @ 2011-10-23 19:59 程序诗人 阅读(35343) 评论(20) 推荐(17)
摘要: 这里主要来说明ActiveRecord的属性与数据库及其字段的对应关系。 主要以ActiveRecordAttribute、PrimaryKeyAttribute、PropertyAttribute来进行说明。 阅读全文
posted @ 2011-10-23 13:03 程序诗人 阅读(1676) 评论(0) 推荐(0)
摘要: It simply makes no sense and adds unnecessary confusion and complication to your schema that is so easily avoided. 阅读全文
posted @ 2011-10-23 11:08 程序诗人 阅读(433) 评论(0) 推荐(0)
  2011年10月15日
摘要: 延迟加载,亦称延迟实例化,延迟初始化等,主要表达的思想是,把对象的创建将会延迟到使用时创建,而不是在对象实例化时创建对象,即用时才加载。 阅读全文
posted @ 2011-10-15 11:55 程序诗人 阅读(426) 评论(0) 推荐(1)
  2011年9月18日
摘要: 我以前在使用飞鸽传书功能的时候,发现只要打开这个软件,局域网中的用户就会瞬间加载到我的用户列表中,同时在局域网中的用户的列表中马上也会加载我自己的用户信息。而且,飞鸽传书软件没有依靠服务器端的中转,也就是说,完全是客户端的功能。 阅读全文
posted @ 2011-09-18 15:28 程序诗人 阅读(1892) 评论(10) 推荐(1)
  2011年9月13日
摘要: 当我们读取一个大数据量的数据表的时候,如果采用直接读的方式,很容易造成界面成为“白板”的现象,这也是所谓的假死。这种方式并不是十分好,因为它不能让用户非常直观的看到界面(比如加入进度条显示进度),所以需要有一种手段来防止这种现象的发生。在.net中,要实现这种方式很容易,我们只要利用BeginInvoke开启异步操作即可。首先是开始前的准备工作,我们往Person表中插入一百万数据作为测试数据: 阅读全文
posted @ 2011-09-13 23:52 程序诗人 阅读(984) 评论(1) 推荐(0)
上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 26 下一页