波斯码BOSSMA Information Technology

DOTNET 下的日志

模型数据变更比较利器:ModelDataCompare

发布时间:2015年3月19日 / 分类:DOTNET / 抢沙发

引言 在业务系统的开发需求中经常需要记录数据的变更日志,并显示给管理人员查看,可能的需求包括: 1、记录每一次的数据修改、数据中的每一项变更:变更时间、变更人、变更项等。 2、在页面中显示数据中的每一项变更:变更项的名称、变更前后的值。 这里边隐含了一些不太明显...

修复csredis获取redis sentinel的问题

发布时间:2015年3月14日 / 分类:DOTNET, Redis / 抢沙发

在使用csredis获取sentinel时产生运行时异常,调查问题最后发现是获取sentinel的s-down-time配置参数存在问题。在sentinel集群中并非每个sentinel都能获取到这个参数,获取不到就抛出异常了。 获取s-down-time的代码在Types.cs文件中,RedisSentinelInfo类的构造函数: public ...

NServiceKit.Redis不支持SCAN的解决方法

发布时间:2015年1月10日 / 分类:DOTNET, Redis / 抢沙发

NServiceKit.Redis这个名字可能听说过的不多,但是在.NET平台使用redis的人一般都接触过ServiceStack.Redis,ServiceStack.Redis从v4开始收费了,NServiceKit.Redis是这个程序的免费开源版本,其源码与ServiceStack.Redis v3基本相同,但是它们好像都不支持SCAN命令(也许是我...

使用Dictionary的两个问题

发布时间:2015年1月6日 / 分类:DOTNET / 抢沙发

看到一句话很赞同:“没有评测就是猜测”,确实很多情况下都是如此,特别是不明白内部实现原理的时候。 今天突然想测试下Dictionary设置初始元素数会不会提升性能,因为设置capacity可以避免一定程度的resize,但究竟会怎样呢? 这里使用了老赵写的一个性能计数器,简单准确,比S...

基于RFC1960的属性过滤器 – C#版LDAPFilter

发布时间:2014年2月8日 / 分类:DOTNET / 抢沙发

这里说的属性是指某一个事物所具有的属性,但是其表现形式并不一定是高级语言中类的属性,比如一个人具有的属性:国家-中国;性别-男;年龄-28,这些属性可以对应类中的一个个属性,也可能是一个键值对集合,还可能只是一个字符串。 在JAVA的OSGI框架中实现了一个基于RFC1960的...

计算机中丢失MSVCR110.dll的解决办法

发布时间:2013年11月2日 / 分类:DOTNET / 2 次吐槽

前几天在线安装Visual Studio 2012 Update 3,由于在线安装需要不断下载安装文件,时间很长,后来等不下去,就取消了,不幸的是VS启动不了了,弹出“devenv.exe – 系统错误”,提示“无法启动此程序,因为计算机中丢失MSVCR110.dll。尝试重新安装该程序以解决此问题”。Crash...

C# 判断是否为可空类型

发布时间:2012年12月2日 / 分类:DOTNET / 抢沙发

判断一个类型是否为可空类型。 bool IsNullableType(Type theType) { return (theType.IsGenericType && theType. GetGenericTypeDefinition().Equals (typeof(Nullable<>))); } 转自:http://blog.csdn.net/lee576/article/details/6335190

Entity Framework Power Tool 参数错误的解决办法

发布时间:2012年9月11日 / 分类:DataBase, DOTNET / 6 次吐槽

从EF4.1开始引入了Code First的开发模式,并提供了工具Entity Framework Power Tool,用于从数据库生成Code First风格的代码。最近在使用这个工具的时候遇到一个参数错误(0x80070057)的问题: 测试的过程中发现如果数据库不是本地的就会出这个错误。 根据这条思路,从连接属...

SQL Server重启后导致ADO.NET连接数据库错误的问题

发布时间:2012年8月7日 / 分类:DOTNET / 抢沙发

ADO.NET连接数据库默认是有连接池的,当SQL Server重启或连接池中的连接意外被关闭后,应用程序再次发送数据查询请求时,会使用连接池中的连接,这时就会抛出一个异常,因为这个连接已经关闭了。应用程序检测到这个异常后,就会把连接池中的这个连接作废。后续访问就不会有这个...

关于Assert.ReferenceEquals的误解

发布时间:2011年12月21日 / 分类:DOTNET / 抢沙发

在做单元测试的时候,想比较两个实例是否相同,用了Assert.ReferenceEquals,结果发现无论是否真的相同总是能通过。 通过“转到定义”发现调用的是System.Object.ReferenceEquals,这时还没想明白问题。于是使用: Assert.IsFalse(object.ReferenceEquals(expected, actual)); 这...