- 博客(16)
- 收藏
- 关注
转载 C#使用互斥量(Mutex)实现多进程并发操作时多进程间线程同步操作(进程同步)的简单示例代码及使用方法...
本文主要是实现操作系统级别的多进程间线程同步(进程同步)的示例代码及测试结果。代码经过测试,可供参考,也可直接使用。承接上一篇博客的业务场景[C#使用读写锁三行代码简单解决多线程并发写入文件时线程同步的问题]。随着服务进程的增多,光凭进程内的线程同步已经不能满足现在的需求,导致多进程同时写入同一个文件时,一样提示文件被占用的问题。在这种场景下,跨进程级的锁是不可避免的。在.N...
2017-10-22 22:15:00 835
转载 C#使用读写锁三行代码简单解决多线程并发写入文件时线程同步的问题
在开发程序的过程中,难免少不了写入错误日志这个关键功能。实现这个功能,可以选择使用第三方日志插件,也可以选择使用数据库,还可以自己写个简单的方法把错误信息记录到日志文件。选择最后一种方法实现的时候,若对文件操作与线程同步不熟悉,问题就有可能出现了,因为同一个文件并不允许多个线程同时写入,否则会提示“文件正在由另一进程使用,因此该进程无法访问此文件”。这是文件的并发写入问题,...
2016-12-11 16:24:00 178
转载 ASP.NET中使用DropDownList实现无刷新二级联动详细过程
Demo.sql 1 create table Car( 2 [id] int identity, 3 [brand] varchar(50) not null, 4 [type] varchar(50) not null 5 ) 6 go 7 8 insert into Car ([brand],[type])valu...
2015-01-04 17:18:00 285
转载 使用innerHTML获取HTML代码时,HTML标记属性的双引号好多都消失不见了,原来是属性值中包含空格才会保留双引号...
最近搞的一个项目中所使用的方式比较奇怪,用Label显示HTML内容,然后不断地使用JS把Label的innerHTML复制到TextBox中。但是,昨天发现了一个问题,获取元素值的时候,有时候正常,有时候不正常,然后进入了漫长的DEBUG。。调试过程中,监测Label和TextBox的值,发现获取到Label的值是未被改变的,控件加载的时候是怎样就怎样,在页面中是以SPAN元素...
2014-11-14 07:40:00 571
转载 SQLServer根据不同前缀生成多套流水号
1 --种子表 2 --@prefix 前缀 3 --@seed 种子值 4 create table RefNoSeed( 5 prefix char(4) unique, 6 seed int 7 ) 8 go 9 10 --测试表 11 --@insertTime 插入时间(仅测试用途) 12 -...
2014-10-22 11:48:00 263
转载 ASP.NET文本框密码赋默认值的方法
对于普通的文本输入框,可以使用下边的方法赋默认值:<asp:TextBox ID="TextBox1" runat="server">12345</asp:TextBox>将输入框类型改为密码后,页面上密码框总是空白,默认值丢失:<asp:TextBox ID="TextBox1" runat="server" Te...
2014-10-16 17:08:00 198
转载 C#使用 UdpClient 类进行简单通信的例子
UdpClient 类提供了一些简单的方法,用于在阻止同步模式下发送和接收无连接 UDP 数据报。 因为 UDP 是无连接传输协议,所以不需要在发送和接收数据前建立远程主机连接。但您可以选择使用下面两种方法之一来建立默认远程主机:使用远程主机名和端口号作为参数创建 UdpClient 类的实例。 创建 UdpClient 类的实例,然后调用 Con...
2014-07-31 18:52:00 393
转载 TCP和UDP之间的区别
TCP---传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。 UDP---用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们...
2014-07-29 19:56:00 94
转载 C#如何获取CPU处理器核心数量
有几条不同的处理器信息,您可以获得有关的信息:物理处理器数量、核心数量和逻辑处理器数量,这些可以不同。两颗双核超线程(启用)处理器的机器情况下有:2个物理处理器、4个核心和8个逻辑处理器。逻辑处理器数是可通过Environment类获取,但其他信息都是只可通过WMI(您可能需要安装一些修补程序或服务包)获取:物理处理器:foreach (var item in new...
2014-07-29 11:05:00 596
转载 SQLServer获取临时表所有列名或是否存在指定列名的方法
获取临时表中所有列名select name from tempdb.dbo.syscolumns where id=object_id( '#TempTB')判断临时表中是否存在指定列名if col_length('tempdb.dbo.#TempTB','columnName') is not null print '存在'else ...
2014-07-17 15:41:00 386
转载 C#中override和new修饰符的区别
(new)“隐藏”,(override)“覆盖”(重写)。不过要弄清楚这两个有什么区别确实也很难,因为子类在使用父类方法时根本看不出区别,子类不管父类是new了还是override了,用的都是父类方法。区别就在于,一个子类对象中,用父类类型指针去访问子类成员时有区别。如果是new的,那么父类的这个函数地址仍然保留着,同时又提供了一个新的子类的该函数入口地址。也就是说子类对象中同时保存...
2014-06-20 17:08:00 156
转载 C#中利用LINQ to XML与反射把任意类型的泛型集合转换成XML格式字符串
在工作中,如果需要跟XML打交道,难免会遇到需要把一个类型集合转换成XML格式的情况。之前的方法比较笨拙,需要给不同的类型,各自写一个转换的函数。但是后来接触反射后,就知道可以利用反射去读取一个类型的所有成员,也就意味着可以替不同的类型,创建更通用的方法。这个例子是这样做的:利用反射,读取一个类型的所有属性,然后再把属性转换成XML元素的属性或者子元素。下面注释比较完整,就话不多说了,有...
2013-11-16 16:51:00 174
转载 C#中把任意类型的泛型集合转换成SQLXML数据格式的小例子
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Data.SqlTypes; 6 using System.Data; 7 using System.Reflection...
2013-11-14 00:22:00 160
转载 C#通过属性名称获取(读取)属性值的方法
之前在开发一个程序,希望能够通过属性名称读取出属性值,但是由于那时候不熟悉反射,所以并没有找到合适的方法,做了不少的重复性工作啊!然后今天我再上网找了找,被我找到了,跟大家分享一下。其实原理并不复杂,就是通过反射利用属性名称去获取属性值,以前对反射不熟悉,所以没想到啊~不得不说反射是一种很强大的技术。。下面给代码,希望能帮到有需要的人。 1 using Syste...
2013-09-09 22:31:00 280
转载 打开程序出现.Net Framework Initialization Error – Unable to find a version of the runtime to run this appl...
部署一个VS2010开发的程序时遇到 了一个非常奇怪的问题,客户端上已经安装了.net framework 4.0,但运行时还是会弹出错误:.Net Framework Initialization Error – Unable to find a version of the runtime to run this application查了一下,有人提供了这样的解...
2013-08-09 20:40:00 356
转载 Silverlight连接WCF数据服务的小例子
前段时间,经理让本人开发一个小项目,项目要求需要用到Silverlight开发界面,WCF服务连接数据库,MSSQL作为数据库。由于以前没有接触过WCF,按照微软官方的教程又会出现一些问题,导致一些错误,并且不懂得如何解决。后来,经理给了个小例子,刚开始还不太懂,不过后来慢慢理解了,觉得这个例子还不错,所以向大家分享一下。本章主要讲到Silverlight应用程序连接WC...
2012-10-10 23:42:00 120
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人