随笔分类 -  .NET

.NET。
.NET:Threading and Exceptions
摘要:Do handle exceptions in threads.Unhandled exceptions in threads, even background threads, generally terminate the process.There are three exceptions t... 阅读全文

posted @ 2015-01-30 08:46 幸福框架 阅读(467) 评论(0) 推荐(0) 编辑

.NET:race conditions
摘要:race conditions (when an anomalous result occurs due to an unexpected critical dependence on the timing of two events).A race condition occurs when tw... 阅读全文

posted @ 2015-01-26 22:21 幸福框架 阅读(266) 评论(0) 推荐(0) 编辑

.NET:OrderBy和ThenBy
摘要:.NET中OrderBy和ThenBy的语义是不同的,如:list.OrderBy(x=>x.A).OrderBy(x=>x.B),那么最终只会根据B进行排序;list.OrderBy(x=>x.A).ThenBy(x=>x.B),那么最终会先根据A、再根据B进行排序,类似sql中的order by... 阅读全文

posted @ 2014-06-08 13:24 幸福框架 阅读(12226) 评论(1) 推荐(2) 编辑

.NET:枚举的默认值
摘要:.NET中的值类型默认都会设置为0,枚举也是如此,因此当你定义自己的枚举值类型且显式的指定了枚举值时,别忘记使用0,如果由于某种原因不能使用0,如使用了Flag标记,则别忘记在使用了枚举类型的构造方法(某些序列化机制不会调用构造方法,更需要注意)中初始化默认值。 阅读全文

posted @ 2014-05-26 22:31 幸福框架 阅读(1591) 评论(0) 推荐(0) 编辑

.NET:分布式事务
摘要:背景分布式事务使用起来比较方便,不过也是有成本的,因此如果可以不用就尽量不用,比如:采用saga。如果采用了分布式事务的话,就需要对分布式事务相关的几个概念有所了解。分布式事务相关角色:事务发起者:如:web 服务器。资源拥有者:如:sql server 服务器或 mq 服务器。.net 的Tran... 阅读全文

posted @ 2014-05-22 19:47 幸福框架 阅读(3343) 评论(0) 推荐(1) 编辑

.NET:强签名程序集的加载问题 之 版本重定向
摘要:背景多数解决方案会包含多个项目,某些支持插件架构的解决方案中,更是包含多个插件项目,这些项目会使用一些第三方NuGet Packages,如果管理不慎,解决方案中会出现多个版本的引用,这在编译期间不会引起问题,甚至开发调试期间也不会有问题,不过在发布过程会出现一些诡异的问题,如:未能加载xxx.dl... 阅读全文

posted @ 2014-05-20 10:22 幸福框架 阅读(1088) 评论(0) 推荐(0) 编辑

.NET:自定义配置节
摘要:背景对于编译型应用程序来说,参数化程序行为是非常有必要的,.NET有其标准的配置方法,我们可以可以扩展。示例代码 1 using System; 2 using System.Collections; 3 using System.Text; 4 using System.Configura... 阅读全文

posted @ 2014-04-27 10:17 幸福框架 阅读(1125) 评论(0) 推荐(0) 编辑

.NET:不要使用扩展方法扩展Object对象。
摘要:C#的扩展方法算是一种Minin(掺入)机制,掺入方法有其合理的使用场景,这里说说一种不好的使用场景(个人意见):不要使用扩展方法扩展Object对象。扩展Object会对所有类型的示例有侵入,特别是在扩展了大量方法的情景下,调用代码是非常不爽的。 阅读全文

posted @ 2014-04-09 08:28 幸福框架 阅读(853) 评论(0) 推荐(0) 编辑

.NET:使用 XPATH 读取有 xmlns 属性的 XML 文档出现的问题
摘要:问题xml1 3 4 这种带有 xmlns 属性的文档如果使用正常的 xpath 语法是获取不到元素或属性的。正确的代码 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.T... 阅读全文

posted @ 2014-03-29 08:38 幸福框架 阅读(1403) 评论(0) 推荐(0) 编辑

.NET:System.Security.Cryptography.CryptographicException 的解决办法
摘要:详细内容参考此网址:http://social.msdn.microsoft.com/Forums/en-US/ec93922a-fd1e-4225-b5cf-1472ebb3acd1/systemsecuritycryptographycryptographicexception-the-system-cannot-find-the-file-specified?forum=netfxbcl。摘要:确定数字证书文件是否存在。如果宿主是 IIS,做如下配置:Open IIS7 --> ApplicationPools --> YourAppPool -->RighClikck 阅读全文

posted @ 2014-03-08 08:35 幸福框架 阅读(9752) 评论(0) 推荐(1) 编辑

.NET:如何并行的从集合中返还元素?
摘要:实现代码 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 using System.Threading; 7 using System.Collections.Concurrent; 8 9 namespace CSharpStudy.ParallelStudy10 {11 class HowToReturnList12 {13 public static... 阅读全文

posted @ 2014-03-07 08:30 幸福框架 阅读(322) 评论(0) 推荐(0) 编辑

.NET:Assembly.CodeBase vs. Assembly.Location
摘要:The CodeBase is a URL to the place where the file was found, while the Location is the path from where it was actually loaded. For example, if the assembly was downloaded from the internet, its CodeBase may start with "http://", but its Location may start with "C:\". If the file 阅读全文

posted @ 2014-03-05 22:17 幸福框架 阅读(1583) 评论(0) 推荐(0) 编辑

.NET:注意 Primitive 这个小坑
摘要:背景有个需求,需要递归遍历类型的所有属性(属性的属性),然后对不同的类型做不同的处理,或者只是将类型分为三类:Primitive、Complex 和 Collection。因为 MS 的 Type 提供了 IsPrimitive 属性,这里重点说下我对 Primitive 的期望,原本以为肯定要包含:Decimal,有可能包含:String,可是并非如此。Type.IsPrimitive Property官方地址:http://msdn.microsoft.com/en-us/library/system.type.isprimitive(v=vs.110).aspx。The primitiv 阅读全文

posted @ 2014-03-03 18:48 幸福框架 阅读(727) 评论(1) 推荐(0) 编辑

.NET:一微秒内可能执行多条 DateTime.Now
摘要:出现BUG的上下文自己写的工作流引擎出现了一点问题,就是因为可能存在一个请求同时流转两个节点(不必深究这个问题),因为每个节点都有一个“进入时间”,引擎的实现将最后一个“进入时间“对应的节点当作了”当前节点“,在服务器环境,因为配置比较好,所以出现了多个进入时间相同的情况,这就导致了 Bug 的发生。 阅读全文

posted @ 2014-02-23 14:55 幸福框架 阅读(465) 评论(0) 推荐(0) 编辑

.NET:默认是按值传递的
摘要:小测试代码 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 using System.Linq.Expressions; 7 using System.Threading; 8 9 namespace CSharpStudy10 {11 class Program12 {13 static void Main(string[] args)14 ... 阅读全文

posted @ 2014-01-29 16:23 幸福框架 阅读(524) 评论(0) 推荐(0) 编辑

.NET:Attribute 入门(内训教程)
摘要:背景接触过的语言中,C#(.NET 平台的多数语言都支持)、Java 和 Python 都支持这个特性,本文重点介绍 C# 中的应用,这里简单的对 C#、java 和 Python 中的 Attribute 做个总结:C#:可以封装状态和行为,会作为元数据存储在程序集中,会关联某些语言结构,可以运行时读取。Java:只能封装状态(Java 中叫:Annotation),会作为元数据存储在程序集中,会关联某些语言结构,可以运行时读取(根据配置,某些 Annotation 只在存在编译时)。Python:只是语言糖,算是一种工厂(Python 中叫 Detector),比如:装饰一个对象,然后返回 阅读全文

posted @ 2014-01-23 17:32 幸福框架 阅读(1697) 评论(0) 推荐(1) 编辑

.NET:线程本地存储、调用上下文、逻辑调用上下文
摘要:背景在多线程环境,如果需要将实例的生命周期控制在某个操作的执行期间,该如何设计?经典的思路是这样的:作为参数向调用栈传递,如:CommandExecuteContext、HttpContext等。好在很多平台都提供线程本地存储这种东西,下面介绍一下 .NET 提供的三种机制。线程本地存储代码 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading; 6 using System.Threading.Tasks; 7 阅读全文

posted @ 2013-11-29 08:58 幸福框架 阅读(4216) 评论(3) 推荐(11) 编辑

.NET:通过 CAS 来理解数据库乐观并发控制,顺便给出无锁的 RingBuffer。
摘要:背景大多数企业开发人员都理解数据库乐观并发控制,不过很少有人听说过 CAS(我去年才听说这个概念),CAS 是多线程乐观并发控制策略的一种,一些无锁的支持并发的数据结构都会使用到 CAS,本文对比 CAS 和 数据库乐观并发控制,以此达到强化记忆的目的。CASCAS = Compare And Swap多线程环境下 this.i = this.i + 1 是没有办法保证线程安全的,因此就有了 CAS,CAS 可以保证上面代码的线程安全性,但是 CAS 并不会保证 Swap 的成功,只有 Compare 成功了才会 Swap,即:没有并发发生,即:在我读取和修改之间没有别人修改。另外说一点,如果 阅读全文

posted @ 2013-11-26 08:57 幸福框架 阅读(2514) 评论(6) 推荐(5) 编辑

.NET:如何让线程支持超时?
摘要:背景本文是为了回复博客园一个兄弟的问题,主要回答两个问题:如何让线程支持超时?如何让线程在执行结束后销毁?MS 现在不推荐使用低级别的 Thread 编程,而推荐使用 Task,另外我多数情况都是做企业应用,很少需要多线程编程的场景,本文中的知识都是从 《clr via c#》学习而来。如何让线程支持超时?使用CancellationTokenSource代码 1 private static void TimeoutTest1() 2 { 3 var cts = new CancellationTokenSource(); 4 5 ... 阅读全文

posted @ 2013-11-25 09:17 幸福框架 阅读(7694) 评论(8) 推荐(5) 编辑

.NET:“事务、并发、并发问题、事务隔离级别、锁”小议,重点介绍:“事务隔离级别"如何影响 “锁”?
摘要:备注我们知道事务的重要性,我们同样知道系统会出现并发,而且,一直在准求高并发,但是多数新手(包括我自己)经常忽略并发问题(更新丢失、脏读、不可重复读、幻读),如何应对并发问题呢?和线程并发控制一样,我们采用锁(乐观锁和悲观锁),大多数场景我们不需要直接管理锁,而是使用有更高语义的事务隔离级别来控制并发问题。关于事务、事务隔离级别如何应对并发问题的文章我之前有过介绍,可以参考如下文章:.NET:脏读、不可重复读和幻读测试。本文重点说一下:事务隔离级别如何影响锁?事务隔离级别如何影响锁?这里大家只需知道两种锁:共享锁和排它锁,如果拿多线程相关的锁来类比的话,共享锁和排它锁共同构成了:ReadWri 阅读全文

posted @ 2013-11-22 09:50 幸福框架 阅读(4768) 评论(6) 推荐(4) 编辑

导航

我要啦免费统计