摘要: 前言 最近在写WebClientApi这个组件,底层使用HttpClient,发现HttpClient有许多低级的错误,使用者一不小心就可能会正常的去调用它的这些错误,得不到预期的结果。本文我把我认为是问题或缺陷的地方指出(但不一定是问题或缺陷,可能是个人理解错误),后人也许可以跳过这些缺陷。 缺陷 阅读全文
posted @ 2017-09-18 23:36 jiulang 阅读(7679) 评论(31) 推荐(25) 编辑
摘要: 1、前言 时间飞快,转眼半年,碌碌无为,眼下就要三十而立,回想三年前的今天,我将NetworkSocket库开放到github,一直在更新与学习,不求有这个库能有多好,只求自己在过程能成长,将领悟到一些思想应用到库里面去。今天,我来给大家介绍半年前在github开放的WebApiClient这个库, 阅读全文
posted @ 2017-09-17 14:56 jiulang 阅读(5346) 评论(18) 推荐(14) 编辑
摘要: 前言 作为一个.net开发工程师,不管是在写桌面程序、服务程序或web程序,在开发阶段,我们必须非常熟悉vs的动态调试技能,当然web程序可能还需要调试前端的脚本或样式,这不在本文的讨论范围。本文主要介绍vs的动态调试基本知识,以及介绍如何追踪已发布的程序的调试日志或技能。 开发阶段 本阶段主要以动 阅读全文
posted @ 2017-06-29 23:52 jiulang 阅读(1858) 评论(5) 推荐(11) 编辑
摘要: 前言 标题不知道怎么确切地命名,在.net的托管世界里,有时不得不使用c的某个动态库,比如ocr、opencv等,如果幸运,有前人已经包装出.net版本,但有些不非常流行的库,只能自己使用pinvoke或c++ cli包装了,比如笔者就遇到了一个,mqtt客户端库。 Pinvoke的多平台问题 如果 阅读全文
posted @ 2017-06-14 22:43 jiulang 阅读(6188) 评论(7) 推荐(6) 编辑
摘要: .Net的面向切面编程 .Net的服务端应用AOP很常见,在Asp.net MVC与Asp.net WebApi等新框架里到处都有AOP的影子,我们可以把一个服务方法“切”为很多面,日志面、验证面、请求方式处理、接口业务实现等多个面,有一些面可以使用过滤器特性(FilterAttribute)进行编 阅读全文
posted @ 2017-03-30 15:55 jiulang 阅读(3346) 评论(2) 推荐(8) 编辑
摘要: 定义 Middleware直译叫中间件,目前在百度上很难找到一个简单明了的含义解释,.Net下以前也比较难以看到它的身影,但在Microsoft.Owin里,多个地方都看到MiddleWare,我近来在尝试理解Middleware,并在实际中模仿应用,本文章将我的个人理解和大家分享一下。 Middl 阅读全文
posted @ 2016-01-04 23:36 jiulang 阅读(1679) 评论(6) 推荐(6) 编辑
摘要: 前言 在《化茧成蝶,开源NetWorkSocket通讯组件》发表之后,收到大家很多个star,在此感谢!更可贵的是,一些网友提出了许多好建议,经过一些时间的思考,决定将NetworkSocket从模仿MVC之后,继续模仿Owin,并局部突破,作有自己特色和理念的通讯框架。之所以模仿Owin而不是接入 阅读全文
posted @ 2015-12-23 21:33 jiulang 阅读(5287) 评论(13) 推荐(27) 编辑
摘要: 前言 前后历时三年,期间大量参考.Net Framework和Asp.net MVC源代码,写写删删再重构,组件如今更新到V1.5.x了。从原来的丑小鸭,变成今天拥有稳定和强大的tcp协议支持基础层,原生支持http、websocket、flash策略服务,以及内置可快速构建tcp通讯的fast协议 阅读全文
posted @ 2015-12-10 15:43 jiulang 阅读(7027) 评论(59) 推荐(51) 编辑
摘要: 前言 本文不想过多篇幅来介绍IEnumerator和IEnumerable这两个接口的具体说明,只是把它作一个例子作引言而已,本文将根据自己的理解来描述微软为何要这样设计这种关联风格的接口。这种风格的接口还有IFormatProvider和IFormattable等等,总结这些所见,可简单描述为I[ 阅读全文
posted @ 2015-12-08 15:27 jiulang 阅读(1294) 评论(1) 推荐(5) 编辑
摘要: 引言 类型转换经常遇到,最常用的应该是string类型转换为其它基元类型,常见于http参数类型转换。Convert静态类的Convert.ChangeType()方法可以把实现IConvertible接口的类型转换为其它也实现这个接口的类型,也等同于里面的ToInt32()、ToDecimal() 阅读全文
posted @ 2015-12-07 12:22 jiulang 阅读(6733) 评论(11) 推荐(34) 编辑