asp.net core 实现支持自定义 Content-Type Intro 我们最近有一个原本是内网的服务要上公网,在公网上有一层 Cloudflare 作为网站的公网流量提供者,CloudFlare 会有一层防火墙拦截掉一些非法的请求,我们有一些 API 会提交一些 html 内容,经过 Cloudflare 的时候会被 Cloudflare 拦截,导致某些功能不能够正常使用,于是就想对提交的数据进行一个编码之后再提交,服务器端针对需要解码的请求进行解码再解析,我们新加了一个 Conten…
WebAPI调用笔记   前言 即时通信项目中初次调用OA接口遇到了一些问题,因为本人从业后几乎一直做CS端项目,一个简单的WebAPI调用居然浪费了不少时间,特此记录. 接口描述 首先说明一下,基于Http协议的Get.Post请求,网上有很多例子,其实方法都是一样的,这块没什么好说的,我也测试过我的代码,正常的调用是没问题的.问题不是在请求方法上,而是在如何取出数据上.因为对应我需求接口的开发是个实习生,对于如何提供接口,他并不熟悉,其中我还帮了一些忙,但我毕竟不是很熟BS端那块,纠结了1天…
谈到服务注册,首先我们先了解一下服务注册时使用的三种方式,也代表了不同的服务生命周期: AddTransient AddScoped AddSingleton AddSingleton生命周期最长,其生命周期范围描述为:从应用程序启动到应用程序结束.在第一次请求时会创建一个实例,之后的每次请求都会使用同一个实例. AddTransient生命周期最短,在服务请求时会创建一个实例,服务请求结束生命周期即结束,之后的每一次请求都会创建不同的实例. AddSingleton生命周期介于上述两者之间,这…
asp.net core 3.1 自定义中间件实现jwt token认证 话不多讲,也不知道咋讲!直接上代码 认证信息承载对象[user] /// <summary> /// 认证用户信息 /// </summary> public class DyUser { /// <summary> /// 用户ID /// </summary> public int UserId { get; set; } /// <summary> /// 所属商户I…
asp.net core 实现支持多语言 Intro 最近有一个外国友人通过邮件联系我,想用我的活动室预约,但是还没支持多语言,基本上都是写死的中文,所以最近想支持一下更多语言,于是有了多语言方面的一些实践 国际化/本地化介绍 国际化(Globalization)和本地化(Localization)是要实现的多语言支持的基础 Globalization is the process of designing and developing applications that function fo…
之前的博文 ASP.NET Core中显示自定义错误页面 中的方法是在项目中硬编码实现的,当有多个项目时,就会造成不同项目之间的重复代码,不可取. 在这篇博文中改用middleware实现,并且放在独立的项目中发布成NuGet包,项目中使用时只需安装NuGet包,然后在Startup的Configure()方法中添加如下的一行代码. app.UseCustomErrorPages(); CustomErrorPagesMiddleware的实现代码如下: public class CustomE…
我们知道Asp.net Core是支持输出为Json格式的.同时也支持输出为xml格式.只要我们正确的配置.并在Request时指定正确的Accept,即可根据不同的Header来输出不同的格式. 前几天看Jessite4.0读其日志,又看到这段文字 所有连接加 .json 或 .xml 或增加 __ajax=json 参数,或增加 __ajax=xml 参数,则自动返回 json 或 xml 数据,而不返回视图 于是在想,我们能不能提供下Asp.net Core中这种功能.最笨的办法,当然是在…
上一篇文章<ASP.NET Core中使用默认MVC路由>提到了如何使用默认的MVC路由配置,通过这个配置,我们就可以把请求路由到Controller和Action,通常情况下我们使用默认的路由器就可以了. 但是有些情况下,我们需要创建自己的路由规则,不是简单的修改MVC路由模板这么简单,比如我们需要针对一些特定的URL做特殊处理,这种情况通常是我们需要兼容一些旧的URL,但是升级之后总不能不管吧,要们做跳转或者给用户一个友好提示等等.如果旧的URL是MVC的那种格式Controller/Ac…
在上篇文章中,我为构建自定义端点可视化图奠定了基础,正如我在第一篇文章中展示的那样.该图显示了端点路由的不同部分:文字值,参数,动词约束和产生结果的端点: 在本文中,我将展示如何通过创建一个自定义的DfaGraphWriter来为自己的应用程序创建一个端点图. 这篇文章使用了本系列前几篇文章中的技巧和类,因此我强烈建议在继续之前先阅读这些技巧和类. 作者:依乐祝 原文链接:https://andrewlock.net/creating-a-custom-endpoint-visualizatio…
前言 在正常的情况下,当我们系统用到JWT认证方式时,需要在Http请求头添加Authorization: XXX,这样在后台服务的控制器中打上[Authorize]授权标签,就限定所有的请求必须通过鉴权方可访问. 在[ASP.NET Core - 基于IHttpContextAccessor实现系统级别身份标识]这篇文章中我们能够注意到,通过IHttpContextAccessor获取基于请求生成的HttpContext后,我们是能够拿到基于该次请求的所有http信息的.这就给予了我们可以基于…