摘要:
近来发现很多ASP.NET MVC的例子中都使用了Repository模式,比如Oxite,ScottGu最近发布的免费的ASP.NET MVC教程都使用了该模式。就简单看了下。在《企业架构模式》中,译者将Repository翻译为资源库。给出如下说明:通过用来访问领域对象的一个类似集合的接口,在领域与数据映射层之间进行协调。在《领域驱动设计:软件核心复杂性应对之道》中,译者将Repository...
阅读全文
posted @ 2010-07-14 09:10
HackerVirus
阅读(1022)
推荐(0)
摘要:
//调用方法不难,但是自己要查清楚所调的函数的一些参数才能调using System;using System.Runtime.InteropServices;class Program{[DllImport("User32.dll")]//引用你调用的API函数的DLL,这个自己可以在MS上查得到。一般就那几个DLLpublic static extern int MessageBox(int...
阅读全文
posted @ 2010-07-13 23:58
HackerVirus
阅读(517)
推荐(0)
摘要:
C# Socket异步通讯是如何实现的呢?C# Socket异步通讯客户端设计的思路是什么呢?那么本文就向你介绍具体的内容。 C# Socket异步通讯客户端实现源码 C# Socket异步通讯客户端之主程序: C# Socket异步通讯客户端之连接部分Callback: C# Socket异步通讯客户端之数据接收: C# Socket异步通讯客户端之发送数据: C# Socket异步通讯客户端的...
阅读全文
posted @ 2010-07-13 23:54
HackerVirus
阅读(449)
推荐(0)
摘要:
这多少给程序员的我们又一次心理上的警钟,我们不仅要多多注意自己的身体,也要时刻关心一下自己的心理问题,进行适当的调整。从选择了计算机行业的那一刻起,我们就开始了与鼠标、键盘、显示器长期为伍的生活。多少程序员为了生存,终日坐在电脑面前埋头苦干,很少有时间去关心自己的身体状况和心理疾病。也正因为这样,程序员的健康状况和心理状况常常让人担忧。如果自己不注意,等到其中的危害表现出来时往往已经有些迟了。作为...
阅读全文
posted @ 2010-07-13 23:51
HackerVirus
阅读(171)
推荐(0)
摘要:
如何控制好多个线程相互之间的联系,不产生冲突和重复,这需要用到互斥对象,即:System.Threading 命名空间中的 Mutex 类。我们可以把Mutex看作一个出租车,乘客看作线程。乘客首先等车,然后上车,最后下车。当一个乘客在车上时,其他乘客就只有等他下车以后才可以上车。而线程与Mutex对象的关系也正是如此,线程使用Mutex.WaitOne()方法等待Mutex对象被释放,如果它等待...
阅读全文
posted @ 2010-07-13 23:27
HackerVirus
阅读(202)
推荐(0)
摘要:
Timer类:设置一个定时器,定时执行用户指定的函数。 定时器启动后,系统将自动建立一个新的线程,执行用户指定的函数。// 第一个参数:指定了TimerCallback 委托,表示要执行的方法;// 第二个参数:一个包含回调方法要使用的信息的对象,或者为空引用;// 第三个参数:延迟时间——计时开始的时刻距现在的时间,单位是毫秒,指定为“0”表示立即...
阅读全文
posted @ 2010-07-13 23:19
HackerVirus
阅读(123)
推荐(0)
摘要:
在多线程的程序中,经常会出现两种情况:一种情况: 应用程序中,线程把大部分的时间花费在等待状态,等待某个事件发生,然后才能给予响应 这一般使用ThreadPool(线程池)来解决;另一种情况:线程平时都处于休眠状态,只是周期性地被唤醒 这一般使用Timer(定时器)来解决;ThreadPool类提供一个由系统维护的线程池(可以看作一个线程的容器),该容器需要 Windows 2000 以上系统...
阅读全文
posted @ 2010-07-13 23:07
HackerVirus
阅读(187)
推荐(0)
摘要:
前面说过,每个线程都有自己的资源,但是代码区是共享的,即每个线程都可以执行相同的函数。这可能带来的问题就是几个线程同时执行一个函数,导致数据的混乱,产生不可预料的结果,因此我们必须避免这种情况的发生。C#提供了一个关键字lock,它可以把一段代码定义为互斥段(critical section),互斥段在一个时刻内只允许一个线程进入执行,而其他线程必须等待。在C#中,关键字lock定义如下:lock...
阅读全文
posted @ 2010-07-13 22:42
HackerVirus
阅读(155)
推荐(0)
摘要:
下面我们就动手来创建一个线程,使用Thread类创建线程时,只需提供线程入口即可。(线程入口使程序知道该让这个线程干什么事)在C#中,线程入口是通过ThreadStart代理(delegate)来提供的,你可以把ThreadStart理解为一个函数指针,指向线程要执行的函数,当调用Thread.Start()方法后,线程就开始执行ThreadStart所代表或者说指向的函数。 打开你的VS.net...
阅读全文
posted @ 2010-07-13 21:43
HackerVirus
阅读(218)
推荐(0)
摘要:
什么是进程?当一个程序开始运行时,它就是一个进程,进程包括运行中的程序和程序所使用到的内存和系统资源。而一个进程又是由多个线程所组成的。什么是线程?线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函数。什么是多线程?多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务,也就是说允许单个程...
阅读全文
posted @ 2010-07-13 21:40
HackerVirus
阅读(124)
推荐(0)