摘要:
C#调用exe文件 阅读全文
摘要:
public sealed class UserInfo { public string GivenName; public string FullName; public string Email; } /// /// 活动目录中的搜索路径,也可根据实际情况来修改这个值。 /// public static string DirectoryPath = "LDAP://" + GetDomainName(); /// ... 阅读全文
摘要:
usemastergo--Create Databaseif exists(select * from sysdatabases where name ='TestMachine')drop database TestMachinegocreate database TestMachineon ( name = 'TestMachines_data.mdf', filename = 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\TestMachine_data. 阅读全文
摘要:
上一章节,我们已经大概知道如何对文件进行打包安装,不过我们也注意到,通过对Sample.wxs的编译链接,生成的msi安装包没有任何用户界面,只有一个安装进度条。下面我们来看看如何给安装包添加用户界面: 2.1 使用wix用户界面 wix本身自带有一套UI,使用这些UI我们可以满足大多数的安装界面要求,你可以决定到底使用哪种WixUI: 1、WixUI_Mondo 包含WixUI附带的全部用户界面:welcome界面,许可协议,安装类型(经典、自定义、完全),部件定制(安装类型自定义),浏览目标目录,磁盘消耗,同时也包含维护模式的界面; 2、WixUI_FeatureTree 与WixUI_M 阅读全文
摘要:
最近由于项目需要,需要给客户制作安装程序,一开始使用vs2005自带的打包工程来打包,但用了一段时间发现vs打包太死板,而且使用起来问题很多。收费的商业打包工具不在我考虑范围内,于是在网上找到了wix,稍微了解了下,发现wix的确可以满足我的需求;但是网上wix中文的资料少的可怜,百度,google上搜索到关于wix中文的资料少的可怜,有的只是一些简单的应用,还不足以满足我的要求;没办法,只能靠自己了,还好项目不是很急,于是开始花时间慢慢熟悉wix了。一路熟悉下来,发现使用wix也是个不小的工程,因此我将我使用wix过程的一些主要的问题都记录下来,供以后自己和大家参考: 1.1 安装wix 首 阅读全文
摘要:
AutoResetEvent 允许线程通过发信号互相通信。通常,此通信涉及线程需要独占访问的资源。线程通过调用 AutoResetEvent 上的 WaitOne 来等待信号。如果 AutoResetEvent 处于非终止状态,则该线程阻塞,并等待当前控制资源的线程 通过调用 Set 发出资源可用的信号。调用 Set 向 AutoResetEvent 发信号以释放等待线程。AutoResetEvent 将保持终止状态,直到一个正在等待的线程被释放,然后自动返回非终止状态。如果没有任何线程在等待,则状态将无限期地保持为终止状态。可以通过将一个布尔值传递给构造函数来控制 AutoResetEven 阅读全文
摘要:
在C#中让线程同步的另一种编码方式就是使用线程锁。所谓线程锁,就是锁住一个资源,使得应用程序只能在此刻有一个线程访问该资源。可以用下面这句不是那么贴切的话来理解线程锁的作用:锁,就是让多线程变成单线程。在C#中,可以将被锁定的资源理解成new出来的普通对象。既然需要锁定的资源就是一个C#中的对象,我们就该仔细思考,到底什么样的对象能够成为一个锁对象(也叫同步对象)?在选择同步对象的时候,应当始终注意以下几点: q同步对象在需要同步的多个线程中是可见的、同一个对象; q非静态方法中,静态变量不应作为同步对象;q值类型对象不能作为同步对象;q避免将字符串作为同步对象。q降低同步对象的可见 阅读全文
摘要:
1 前言数据库大并发操作要考虑死锁和锁的性能问题。看到网上大多语焉不详(尤其更新锁),所以这里做个简明解释,为下面描述方便,这里用T1代表一个数据库执行请求,T2代表另一个请求,也可以理解为T1为一个线程,T2 为另一个线程。T3,T4以此类推。下面以SQL Server(2005)为例。2 锁的种类共享锁(Shared lock)。例1:----------------------------------------T1: select * from table (请想象它需要执行1个小时之久,后面的sql语句请都这么想象)T2: update table set column1... 阅读全文