自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 收藏
  • 关注

转载 又一个轮子--QMapper

1 前言我喜欢造轮子,一是造的时候就是深刻学习的时候,二是造着造着,说不定某天比世面上的其它轮子都要好呢。比如造过Networksocket,也造过WebApiClient,现在我也要造一个Mapper,由于已经有好多Mapper存在,所以这个项目只能叫偏门的QMapper了。2 QMapper的定位2.1 约定限制属性名称相同的才能映射属性名称大小写不敏感不支持嵌套属性映...

2019-08-01 10:46:00 340

转载 请给你的短信验证码接口加上SSL双向验证

序言去年年底闲来几天,有位同事专门在网上找一些注册型的app和网站,研究其短信接口是否安全,半天下来找到30来家,一些短信接口由于分析难度原因,没有继续深入,但差不多挖掘到20来个,可以肆意被调用,虽然不能控制短信内容,但可以被恶意消耗,或者用于狂发信息给那些不喜欢的人。漏洞分析短信接收方无法约束由于是注册型接口,接收方往往都是平台内不存在的手机号,所以无法约束。接口请求...

2019-04-24 22:28:00 219

转载 谓词筛选表达式的扩展库PredicateLib

PredicateLibPredicateLib是谓词筛选表达式Expression<Func<T, bool>>的一个扩展库,它可以帮你创建一个复杂且灵活的Expression<Func<T, bool>>,以作为EF、MongoDB Driver等ORM框架的查询条件。1 Predicate的创建1.1 true或false Pr...

2019-03-28 11:33:00 236

转载 WebApiClient与Asp.net core DI的结合

1 WebApiClient一款基于HttpClient封装,只需要定义c#接口并修饰相关特性,即可异步调用远程http接口的客户端库WebApiClientWebApiClient.ExtensionsWebApiClient.Tools2 Http接口的注册与提供2.1 声明远程端http接口public interface IBaiduApi : IHttpA...

2019-02-26 14:54:00 236

转载 swagger文档转换为WebApiClient声明式代码

1 swagger简介Swagger是一个规范且完整的框架,提供描述、生产、消费和可视化RESTful Web Service。其核心是使用json来规范描述RESTful接口,另外有提供UI来查看接口说明,并有一套生成不同语言的客户端调用代码生成器。1.1 对Api提供者自顶向下使用Swagger编辑器创建Swagger定义,然后使用Swagger代码生成工具生成服务器...

2018-11-04 14:24:00 139

转载 声明式RESTful客户端在asp.net core中的应用

1 声明式RESTful客户端声明式服务调用的客户端,常见有安卓的Retrofit、SpringCloud的Feign等,.net有Refit和WebApiClient,这些客户端都是以java或.net某个语言来声明接口,描述如何请求RESTful api。1.1 WebApiClientWebApiClient由c#开发,但适用于任意.net语言,包括c#、vb.net、f...

2018-10-14 14:40:00 202

转载 WebApiClient的SteeltoeOSS.Discovery扩展

1 背景从园子里看到一些朋友在某些项目开发中,选择的架构是spring cloud搭建底层微服务框架,dotnet core来编写业务逻辑,SteeltoeOSS.Discovery是dotnet和spingcloud的桥梁,为dotnet提供服务注册和服务发现相关功能。在阅读朋友们文章的时候,我发现相关代码里的一些HttpClient相关问题,同时对dotnet寄居于spingclo...

2018-09-26 23:34:00 180

转载 教你编写百度搜索广告过滤的chrome插件

1 前言目前百度搜索列表首页里,广告5条正常内容是10条,而且广告都是前1到5条的位置,与正常内容的显示样式无异。对于我们这样有能力的开发者,其实可以简单的实现一个chrome插件,在百度搜索页面里执行一些我们自己的javascript,删除掉这些广告条目。2 插件简介Chrome插件逻辑主体为两部分组成,一是在目标文档(比如www.baidu.com页面)运行的js和css,叫c...

2018-09-12 14:30:00 233

转载 WebApiClient的JsonPatch局部更新

1. 文章目的随着WebApiClient的不断完善,越来越多开发者选择WebApiClient替换原生的HttpClient,本文将介绍使用WebApiClient来完成JsonPatch提交的新特性。2. json patch介绍在服务端WebApi开发的时候,如果设计一个更新登录用户的个人信息的接口,用户能更新昵称、密码、生日、性别等N多个字段,但用户在实际使用中,可能是更新...

2018-08-06 17:09:00 159

转载 WebApiClient的接口输入验证

1. 文章目的随着WebApiClient的不断完善,越来越多开发者选择WebApiClient替换原生的HttpClient,本文将介绍WebApiClient的接口参数输入有效性验证的新特性。2.DataAnnotations介绍在asp.net mvc服务端编程中,我们在创建模型的时候,使用System.ComponentModel.DataAnnotations相关的验证特...

2018-08-02 11:37:00 207

转载 WebApiClient百度地图服务接口实践

1. 文章目的随着WebApiClient的不断完善,越来越多开发者选择WebApiClient替换原生的HttpClient,然而在应用到实际项目中多多少少会遇到一些项目结合上的疑问和困难,本文将以WebApiClient使用者的身份,在Asp.net core mvc项目中使用WebApiClient来请求百度地图服务接口,以展示WebApiClient的使用技巧。2. 百度地图...

2018-08-01 09:16:00 368

转载 WebApiClient库支持AOT

1 库简介WebApiClient是开源在github上的一个http客户端库,内部基于HttpClient开发,只需要定义c#接口(interface),并打上相关特性,即可异步调用http-api。该库支持framework4.5+、netstandard1.3、netcoreapp2.1,包含以下特性:原生的支持面向切面编程;内置丰富的特性,支持自定义特性;灵活和Filt...

2018-05-15 15:55:00 325

转载 使用WebApiClient请求和管理Restful Api

前言本篇文章的内容是WebApiClient应用说明篇,如果你没有了解过WebApiClient,可以先阅读以下相关文章:WebApi client 的面向切面编程我来给.Net设计一款HttpClient.Net45下HttpClient的几个缺陷.net的retrofit--WebApiClient库.net的retrofit--WebApiClient库深入篇.ne...

2018-03-08 17:27:00 177

转载 .net的retrofit--WebApiClient底层篇

前言本篇文章的内容是WebApiClient底层说明,也是WebApiClient系列接近尾声的一篇文章,如果你没有阅读过之前的的相关文章,可能会觉得本文章的内容断层,WebApiClient系列文章索引:WebApi client 的面向切面编程我来给.Net设计一款HttpClient.Net45下HttpClient的几个缺陷.net的retrofit--WebApiC...

2018-01-20 12:09:00 166

转载 .net的retrofit--WebApiClient库深入篇

前言本篇文章的内容是对上一篇.net的retrofit--WebApiClient库的深层次补充,你可能需要先阅读上一篇才能理解此篇文章。本文将详细地讲解WebApiClient的原理,结合实际项目中可能遇到的问题进行使用说明。库简介WebApiClient是开源在github上的一个httpClient客户端库,内部基于HttpClient开发,是一个只需要定义c#接口(inte...

2018-01-17 13:46:00 281

转载 .net的retrofit--WebApiClient库

# 库简介WebApiClient是开源在github上的一个httpClient客户端库,内部基于HttpClient开发,是一个只需要定义c#接口(interface),并打上相关特性,即可异步调用http-api的框架 ,支持.net framework4.5+、netcoreapp2.0和netstandard2.0。本文将详细地讲解如何使用WebApiClient进行http...

2018-01-16 10:34:00 144

转载 一种优雅的条件引用第三方.net库的方法

1.遇到的问题今年我一直在开发一个WebApiClient库,旨在.net下能像java的retrofit一样,方便地请求服务端的http接口。在这restful api盛行的年代,json的身影无处不在,.net framework自然也有json库,System.Web.Script.Serialization.JavaScriptSerializer就是其中一个,但综合性较好...

2018-01-07 16:30:00 146

转载 一种Webconfig自动化升级方法

1、方法功能使用本方法,可以将开发环境最新版本的web.config结构与生产环境环境的config融合,而不用考虑两个config的版本差异值是多少。使用一种标记的方式,在开发环境webconfig上标记哪些节点的哪些属性需要保留为生产环境对应的值,而这种标记不影响开发环境web.config的使用。2、适用范围1、将开发环境的webconfig更新到生产环境,不再需...

2017-09-22 04:42:00 171

转载 .Net45下HttpClient的几个缺陷

前言最近在写WebClientApi这个组件,底层使用HttpClient,发现HttpClient有许多低级的错误,使用者一不小心就可能会正常的去调用它的这些错误,得不到预期的结果。本文我把我认为是问题或缺陷的地方指出(但不一定是问题或缺陷,可能是个人理解错误),后人也许可以跳过这些缺陷。缺陷1请求头Cookie与HttpClientHandler的CookieCon...

2017-09-18 23:36:00 247

转载 我来给.Net设计一款HttpClient

1、前言时间飞快,转眼半年,碌碌无为,眼下就要三十而立,回想三年前的今天,我将NetworkSocket库开放到github,一直在更新与学习,不求有这个库能有多好,只求自己在过程能成长,将领悟到一些思想应用到库里面去。今天,我来给大家介绍半年前在github开放的WebApiClient这个库,正如NetworkSocket一样,它正在渐渐从渺小变得强大,从简单变得抽象、易用、可高...

2017-09-17 14:56:00 121

转载 .Net程序调试与追踪的一些方法

前言作为一个.net开发工程师,不管是在写桌面程序、服务程序或web程序,在开发阶段,我们必须非常熟悉vs的动态调试技能,当然web程序可能还需要调试前端的脚本或样式,这不在本文的讨论范围。本文主要介绍vs的动态调试基本知识,以及介绍如何追踪已发布的程序的调试日志或技能。开发阶段本阶段主要以动态调试为主,调试的利器当然是vs。动态调试步骤:1、拥有程序的代码和pdb文...

2017-06-29 23:52:00 222

转载 DllImport 自动选择x64或x86 dll

前言标题不知道怎么确切地命名,在.net的托管世界里,有时不得不使用c的某个动态库,比如ocr、opencv等,如果幸运,有前人已经包装出.net版本,但有些不非常流行的库,只能自己使用pinvoke或c++ cli包装了,比如笔者就遇到了一个,mqtt客户端库。Pinvoke的多平台问题如果您没有接触过如何调用非托管dll,没有了解过c#的DllImportAttribut...

2017-06-14 22:43:00 476

转载 WebApi client 的面向切面编程

.Net的面向切面编程.Net的服务端应用AOP很常见,在Asp.net MVC与Asp.net WebApi等新框架里到处都有AOP的影子,我们可以把一个服务方法“切”为很多面,日志面、验证面、请求方式处理、接口业务实现等多个面,有一些面可以使用过滤器特性(FilterAttribute)进行编写,然后很方便和打上特性即可,对于一般的工程师,只需要专注实现接口业务实现。在流行S...

2017-03-30 15:55:00 155

转载 Middleware的艺术

定义Middleware直译叫中间件,目前在百度上很难找到一个简单明了的含义解释,.Net下以前也比较难以看到它的身影,但在Microsoft.Owin里,多个地方都看到MiddleWare,我近来在尝试理解Middleware,并在实际中模仿应用,本文章将我的个人理解和大家分享一下。Middleware的抽象Microsoft.Owin的Middlewarepubl...

2016-01-04 23:36:00 91

转载 突破自我,开源NetWorkSocket通讯组件

前言在《化茧成蝶,开源NetWorkSocket通讯组件》发表之后,收到大家很多个star,在此感谢!更可贵的是,一些网友提出了许多好建议,经过一些时间的思考,决定将NetworkSocket从模仿MVC之后,继续模仿Owin,并局部突破,作有自己特色和理念的通讯框架。之所以模仿Owin而不是接入,是因为Open Web Interface for .NET是为Web而存在的,我需要...

2015-12-23 21:33:00 125

转载 化茧成蝶,开源NetWorkSocket通讯组件

前言前后历时三年,期间大量参考.NetFramework和Asp.netMVC源代码,写写删删再重构,组件如今更新到V1.5.x了。从原来的丑小鸭,变成今天拥有稳定和强大的tcp协议支持基础层,原生支持http、websocket、flash策略服务,以及内置可快速构建tcp通讯的fast协议,最重要的是可基于此组件,很方便开发自己定义的某种tcp上层协议服务器和客户端。如果...

2015-12-10 15:43:00 111

转载 理解IEnumerator+IEnumerable这种接口思想

前言本文不想过多篇幅来介绍IEnumerator和IEnumerable这两个接口的具体说明,只是把它作一个例子作引言而已,本文将根据自己的理解来描述微软为何要这样设计这种关联风格的接口。这种风格的接口还有IFormatProvider和IFormattable等等,总结这些所见,可简单描述为I[xx]er接口往往是用于定义[xx]业务方法,而I[xx]able定义一些方法,方法体的...

2015-12-08 15:27:00 97

转载 .Net下一个类型转换神器

引言类型转换经常遇到,最常用的应该是string类型转换为其它基元类型,常见于http参数类型转换。Convert静态类的Convert.ChangeType()方法可以把实现IConvertible接口的类型转换为其它也实现这个接口的类型,也等同于里面的ToInt32()、ToDecimal()等方法的功能,但不支持转换到这类型的可空类型,因为Nullable<>类型并...

2015-12-07 12:22:00 94

转载 一例完整的websocket实现群聊demo

前言业余我都会花一些时间在tcp、http和websocket等领域的学习,现在觉得有点收获,所以把一个基于websocket的群聊功能的例子提供给大家玩玩。当然这是一个很完整的例子,包括websocket的js代码、websocket的cs代码以及html相关和http服务器,都是一体的。有关Websocket协议,的英文文档可以查看http://tools.ietf.org/ht...

2015-12-01 18:54:00 147

转载 NetworkSocket结构图

分层思想NetworkSocket使用分层的思想,分基础层和上层:1、基础层提供基础通讯,重要的对象有SessionBase、TcpServerBase和TcpClientBase;2、上层实现目前有http、webSocket、fast协议,其中fast也是一种自定义协议;3、如果想完全自定义数据包和数据解析,从基础层派生就很容易实现这个需求;http层和基础层的关...

2015-11-26 19:11:00 106

转载 关于.Net的面试遐想

概述这几天更新相关的面试题目,主是要针对有4年或以上经验的面试者,总体来说,发现面试人员的答题效果和预期相差比较大,我也在想是不是我出的题目偏离现实,但我更愿意相信,是我们一些.Net开发者在工作中都用简单而重复的代码来实现了业务,而基础性和深层次的知识和实际工作反而关系不大,所有有多年开发但技术上却没有质的变化。测试题目我把测试的题目写成了接口,在接口上把接口要求进行了文档...

2015-10-19 17:33:00 66

转载 支付结果回调参数调试的解决方案

前言做支付宝网页支付的同学都会遇到一个问题,支付宝平台的支付结果异步回调很难调试,因为这个回调是反馈到部署的外网环境的,而开发环境没有对外独立ip,开发环境在编写支付后续的逻辑代码就显得很困难,如果能让支付宝平台的回调请求到开发环境来,边调试边开发就爽YY了。本文将提供两种解决方案,方案2的提供相关源代码,以方便用到的各位同学。方案一路由器内网映射,在路由器上配置,将内...

2015-10-09 16:45:00 553

转载 Lucene.Net的服务器封装+APi组件 (开源)

为什么要封装真不知道用什么标题合适,我这几天在研究Lucene.Net,觉得把Lucene.Net封装为一个独立的服务器,再提供一个给客户端调用的Api组件应该是一件很意思的事,主要优势有以下:1、可以将索引和检索的压力放到网络的其它主机上,服务器不用再开发,直接运行就可以;2、客户端完全可以脱离Lucene.Net,只要关心相关的几个Api就可以;3、多个客户端也可以共...

2015-05-22 17:56:00 144

转载 c# r3 inline hook

前言老婆喜欢在QQ游戏玩拖拉机,且安装了一个记牌器小软件,打开的时候弹出几个IE页面加载很多广告,于是叫我去掉广告。想想可以用OD进行nop填充,也可以写api hook替换shellexecute函数的调用,以前也有见过有人使用hex editor修改shellexecute函数的,但搞了多年C#,其它很多原来就不熟悉的都忘记了,迫于无奈于是选择Api Hook这个方式。选择这Ap...

2015-05-07 21:44:00 203

转载 那些不好的Socket服务器设计

基础Socket自强的程序猿们都喜欢搞Socket,而且觉得最好自己来封装个组件出来,如果再往上,加入某种数据协议,让上层服务器开发照着此协议走,就是一个小小的框架了。于是,从头开始,最开始的服务器的雏形与下图有一些相似。现在服务器可以通过socket1到n,分别发送二进制数据到达对应的client1到n了,如果服务器的设计到此打住,本文也就到此打住了,但这个的服务器,毕竟...

2015-04-29 12:38:00 103

转载 一种仿照Asp.net Mvc思维构建WebSocket服务器的方法

问题场景Asp.net Mvc提供了DependencyResolver、Routing、Filter、Modelbinder等webForm所没有新概念,提高Web服务编写的便利性,记得很久之前写的ashx处理程序,由于没有Routing和Modelbinder,代码里写了很多switch case,还有很多参数类型转换,写得满头大汗。现在,开发WebSocket服务端时,同样遇...

2015-04-26 17:25:00 116

转载 js的alert和confirm美化

--前言--window对象的alert和confirm标准方法在不同浏览器的显示效果不太相同,有个相同点是都不是很美观。我们的想法是使用js和css分别仿照它们,提供另一套函数,使在不同浏览器的有着相同的体验效果。--设计思路--为了保留原有的alert和confirm方法,我们不直接替换window对象的alert和confirm,而是新建一个win对象,该对象下有...

2015-04-13 20:02:00 284

转载 Asp.net MVC在View里动态捆绑压缩引用的js

前言Asp.net MVC 4以上版本多了BundleConfig.RegisterBundles方法,可以把要捆绑的脚本或样式进行捆绑压缩,以减少客户端的请求次数从而提高了客户端的访问速度。问题但世上懒人的数量还是很多,我也是一个,觉得这个方法还不够方便。在实际中,一些小的页面或独立页面,开了一些开源的js库之后,js文件比较多,而且每个页面引用的js又不太一样,如果能不在...

2014-11-03 21:30:00 150

转载 EF保存平面数据到SqlServer

前言公司开展一个项目,需要根据客户手机定位获取周围内的精准广告,具体是管理员在地图上绘制多边形的广告范围,落在范围内的客户就看到此广告。下面将我的实现方法简单叙述一下,以供有相同需求的朋友参考。EF平面对象DbGeometryDbGeometry可以表示点、线、多边形等平面对象,输入对象可以是WKT(Well-known text),我们可以把百度地图上的polygon对象的...

2014-08-11 18:07:00 103

转载 webSocket实现web及时聊天的例子

概述websocket目前虽然无法普及应用,未来是什么样子,我们不得而知,但现在开始学习应用它,只有好处没有坏处,本随笔的WebSocket是版本13(RFC6455)协议的实现,也是目前websocket的最新协议,协议的英文文档可以查看http://tools.ietf.org/html/rfc6455,中文翻译的文档可以查看http://blog.csdn.net/stones...

2014-03-14 11:16:00 104

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除