Fork me on GitHub

随笔分类 -  C#

摘要:Step 1 进入 C:\Users\【User】\Documents\IISExpress\config 。 编辑applicationhost.config文件 加入站点信息如下: Step2:进入 C:\Program Files\IIS Express 文件夹 运行如下命令 iisexpre 阅读全文
posted @ 2018-01-26 14:44 ZHK的博客 阅读(1781) 评论(0) 推荐(1)
摘要:场景: Project A 对Project B存在 project to project reference.这种场景下必须为两者都生成nuget package.这样在load Project A 的nuget package才会自动resolve 他所依赖的Project B的nuget pa 阅读全文
posted @ 2017-08-07 13:57 ZHK的博客 阅读(2353) 评论(1) 推荐(0)
摘要:Step 1: 安装docker for windows Step 2: 从github 上 clone 源代码:https://github.com/dotnet/dotnet-docker-samples/ Step 3: 进入项目跟目录,运行docker build命令。 Step 4: bu 阅读全文
posted @ 2017-06-29 15:54 ZHK的博客 阅读(971) 评论(0) 推荐(0)
摘要:使用performance monitor 查看 每一个cpu core的cpu time: 打开performance monitor,添加 counter 如下 运行一段cpu bound 的代码: cpu time瞬间彪到100% 结束代码运行。 阅读全文
posted @ 2017-05-06 11:26 ZHK的博客 阅读(1663) 评论(0) 推荐(0)
摘要:.Net Core的安装包的分发地址如下: https://apt-mo.trafficmanager.net/repos/dotnet-release/pool/main/d/ 方法一: 可以分别手动下载和安装sharedframework 和 SDK. dotnet-dev-1.0.0-prev 阅读全文
posted @ 2016-10-01 08:57 ZHK的博客 阅读(1160) 评论(0) 推荐(0)
摘要:首先创建一个空的web项目,如下图所示: 项目创建成功以后,安装下面三个package. Install-Package Microsoft.AspNet.WebApi -Version 5.2.2Install-Package Microsoft.AspNet.WebApi.Owin -Versi 阅读全文
posted @ 2016-06-26 13:51 ZHK的博客 阅读(1683) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2016-04-28 23:05 ZHK的博客 阅读(420) 评论(0) 推荐(0)
摘要:TaskCompletionSource生成Task的另一种方法.使用TaskCompletionSource很简单,只需要实例化它即可。TaskCompletionSource有一个Task属性,你可以对该属性暴露的task做操作,比如让它wait或者ContinueWith等操作。当然,这个ta 阅读全文
posted @ 2016-04-17 18:04 ZHK的博客 阅读(8886) 评论(0) 推荐(2)
摘要:首先见下图(图一),其中FooController是一个没有实现任何Interface的空类。需要实现的效果是:通过FooController对象调用FooService的Do方法。设置这一不常见的场景主要是为了说明Castle中AdditionalInterfaces的用法。 这个场景诡异的地方在 阅读全文
posted @ 2016-04-17 06:42 ZHK的博客 阅读(2066) 评论(0) 推荐(4)
摘要:随着微软日渐重视开源社区的贡献,微软在自己的产品中往往也会集成开源的第三方库。 比如System.Net.Http.Foramatting.dll 就依赖于Newtonsoft.json v4.5. 所以如果你项目的Newtonsoft.json的版本高于v4.5。当调用System.Net.Htt 阅读全文
posted @ 2016-04-14 12:09 ZHK的博客 阅读(2888) 评论(0) 推荐(0)
摘要:What – OData是什么? OData - Open Data Protocol,是一个设计和使用RESTful API的标准。REST本身只是一个构建web服务的思想和理念,其没有规定一个统一的标准来限制开发人员该如何设计RESTful API。其实我们实际开发中的确也没有遵循某个统一的标准 阅读全文
posted @ 2016-04-09 08:35 ZHK的博客 阅读(44102) 评论(2) 推荐(25)
摘要:下面代码(摘抄之别处,原创在哪不知)是采用TransparentProxy和RealProxy实现对象的动态代理。碍于其使用反射掉用方法,所以就小试着将反射改成Expression以提高执行的效率。第15行就是原来代码中反射掉用方法的关键代码。 其他的辅助类   将15行替换为如下Expressio 阅读全文
posted @ 2016-03-14 16:57 ZHK的博客 阅读(2011) 评论(0) 推荐(3)
摘要:短时间锁定的情况下,自旋锁(spinlock)更快。(因为自旋锁本质上不会让线程休眠,而是一直循环尝试对资源访问,直到可用。所以自旋锁线程被阻塞时,不进行线程上下文切换,而是空转等待。对于多核CPU而言,减少了切换线程上下文的开销,从而提高了性能。) 以下是简单实例(并行执行10000次,每次想li 阅读全文
posted @ 2016-03-12 19:04 ZHK的博客 阅读(2440) 评论(0) 推荐(2)
摘要:Lock是常用的同步锁,但是我们无法在Lock的内部实现异步调用,比如我们无法使用await. 以下面的代码为例,当你在lock内部使用await时,VS会报错提醒。 最简单的解决办法就是使用第三方的库Nito.AsyncEx。可以通过Nuget安装。 通过AsyncLock就可以在锁的内部实现异步 阅读全文
posted @ 2016-03-12 16:57 ZHK的博客 阅读(6944) 评论(1) 推荐(7)
摘要:关键代码第4,5行。 很简单的原理不解释:readonly + Lazy(.Net 4.0 + 的新特性) 测试结果: 阅读全文
posted @ 2016-03-09 11:17 ZHK的博客 阅读(3389) 评论(3) 推荐(1)
摘要:1. 静态构造函数 C#中有静态构造函数, Java中没有静态构造函数。其实Java中有一个类似静态构造函数的东东,称作静态初始化,或者静态代码块,可以通过这样的代码实现相同的功能: 但是Java中静态代码块和C#静态构造函数还是不一样的。C#中静态构造函数在其他静态成员初始化后再执行,而java中 阅读全文
posted @ 2015-12-21 17:15 ZHK的博客 阅读(598) 评论(0) 推荐(0)
摘要:Paradox数据库是一个成名于15年前的数据库,那时候Borland公司还存在。最近客户提出需求,要在一套用了12年+的应用程序上作些功能更改。这套应用程序使用Delphi+Paradox数据库。 Delphi和Paradox一样太古老,现在会这玩意的人应该不多了吧。想想一种语言太依赖一家公司,结... 阅读全文
posted @ 2015-11-05 13:41 ZHK的博客 阅读(4048) 评论(6) 推荐(0)