- 博客(21)
- 资源 (11)
- 收藏
- 关注
原创 NetCore Json数据太大时,控制器接收为null
前言最近在开发中遇到这样一个问题,同时保存多条数据,前边开发几乎都是成功的,但是有一次一下子修改了好多条之后,发现保存失败,debug后发现控制器中接收的对象为null,这种场景虽然不多,但是相信大部分人也有遇到过,特此记录。解决方法在startup的ConfigureService中添加以下配置即可://该配置解决Json内容太大时,控制器接收为null的问题services.Configure<FormOptions>(x =>{ x.ValueCountLimit
2022-05-04 21:48:27
753
原创 .NetCore中IdentityServer使用nginx-proxy的一次排错经历
前言最近在看 Duende.IdentityServer.Admin,本地使用IIS Express跑了一下源码,也看了一遍的代码,决定使用他们的模板创建一个Demo,部署在本地的Docker环境中,也算是踩一下坑吧。以下不会详细介绍项目的部署,只会介绍部署时遇到的问题。
2022-04-06 18:07:27
3302
原创 浙政钉部分埋点成功排查
前言相信大部分做浙政钉应用的朋友都必然要经历一次“埋点部分成功”的坑,怎么排查?对于老司机可能没有难度,但是对于第一次做浙政钉应用的新手司机来说,就会有一种无从下手的感觉。因为你感觉一切都是按照文档上来的啊,偷偷告诉我你是不是有这种感觉?哈哈哈…不论大家的埋点都是怎么操作的,这里我也介绍一下我这边的埋点,希望对那些埋点还没有成功还在苦恼的朋友来说,可以提供一些帮助,早日脱离埋点的坑。提示:我这边采用的是vue的单页面的开发方式,对于其它开发方式仅供参考。一、埋点分类浙政钉埋点代码分为:稳定性监
2022-01-07 08:47:31
2461
12
原创 一起学习设计模式--10.装饰模式
模式目标扩展系统功能前言尽管目前房价依然在涨,但依旧阻止不了大家对新房的渴望和买房的热情。如果大家买的是毛坯房,还要面临一个艰巨的任务,那就是装修。对于新房进行装修,并没有改变房屋用于居住的本质,但是它可以让房子变得更漂亮、更温馨、更实用、更能满足居家需求。在软件设计中,也有一种类似新房装修的技术可以对已有对象(新房)的功能进行扩展(装修),以获得更加符合用户需求的对象,使得对象具有更加强大的功能。这种技术对应于一种被称之为装饰模式的设计模式。一、图形界面构件库的设计A公司基于面向对象技术开发了一
2021-04-25 08:30:53
217
原创 一起学习设计模式--09.组合模式
模式目标树形结构的处理前言树形结构在软件中随处可见,例如操作系统中的目录结构、应用软件中的菜单、办公系统中的公司组织结构等。如何运用面向对象的方式来处理这种树形结构是组合模式需要解决的问题。组合模式通过一种巧妙的设计方案使得用户可以一致性的处理整个树形结构或者树形结构的一部分,也可以一致性的处理树形结构中的叶子节点(不包含子节点的节点)和容器节点(包含子节点的节点)。一、设计杀毒软件的框架结构A公司打算开发一个杀毒软件,该软件既可以对某个文件夹杀毒,也可以对某个指定的文件进行杀毒。该杀毒软件还可以
2021-04-18 18:04:12
223
原创 一起学习设计模式--08.桥接模式
模式目标处理多维度变化前言现实生活中我们经常会遇到两种类型的笔,他们分别是毛笔和蜡笔。假设需要使用大、中、小3种型号的画笔来绘制12种不同的颜色。如果使用蜡笔,需要3 X 12 = 36 支。但是如果是毛笔的话,就不一样了,我们只需要3种型号的毛笔,和12盒颜料即可,涉及的对象个数仅为 3 + 12 = 15,要远远小于36,但是却可以实现与36种蜡笔一样的效果。如果要增加一种新型号的画笔,并且也需要12种颜色,相应的蜡笔需要增加12支,但是毛笔只需要增加一支即可。通过分析得知:在蜡笔中,颜色和型号两
2021-04-10 23:19:11
399
原创 一起学习设计模式--07.适配器模式
前言有的笔记本电脑工作电压是20V,但是国家标准用电电压是220V,如何让20V的笔记本电脑能够在220V的电压下工作?答案是引入一个电源适配器,俗称充电器/变压器,有了这个电源适配器,生活用电和笔记本电脑即可兼容。在软件开发中,也存在类似的不兼容的情况,也可以像引入电源适配器一样引入一个被称为适配器的角色来协调这些存在不兼容的结构,这种设计方案就是适配器模式。一、没有源码的算法库背景A公司以前开发了一个算法库,里面包含了一些常用的算法,如排序和查找等算法,在进行各类软件开发时经常需要重用该算法库
2021-04-03 21:59:00
233
原创 一起学习设计模式--06.建造者模式
前言没有人买车会只买一个轮胎或一个方向盘,大家买的都是一辆包含轮胎、方向盘和发动机等多个部件的完整汽车。如何将这些部件组装成一辆完整的汽车并返回给用户,这是建造者模式需要解决的问题。建造者模式又称生成器模式,它是一种较为复杂、使用频率也相对较低的创建型模式。建造者模式向客户端返回的不是一个简单的产品,而是一个由多个部件组成的复杂产品。一、游戏角色设计A公司游戏开发小组决定开发一款名为《xx群侠传》的网络游戏,该游戏采用主流的RPG模式。玩家可以在游戏中扮演虚拟世界中的一个特定角色,角色根据不同的游戏
2021-03-22 17:48:29
407
原创 一起学习设计模式--05.原型模式
前言《西游记》中的孙悟空吹猴毛变出很多猴兵的故事想必大家都知道,《火影》中鸣人的多重影分身大部分人应该也是都知道,他们都可以根据自己的形象,复制(又称克隆)出很多和自己一摸一样的“身外身”来。在设计模式中也存在一个类似的模式,可以通过一个原型对象克隆出多个一模一样的对象,该模式被成为原型模式。一、大小异同的工作周报A公司一直使用自行开发的一套OA系统进行日常工作办理,但在使用过程中,越来越多的人对工作周报的创建和编写模块产生了抱怨。究其原因,A公司的OA管理员发现,由于某些岗位每周工作存在重复性,工作
2021-03-15 08:31:21
281
原创 一起学习设计模式--04.抽象工厂模式
前言在工厂方法模式中通过引入工厂等级结构,解决了简单工厂模式中工厂类职责过重的问题。但是由于工厂方法模式中每个工厂只生产一类产品,这样可能会导致系统中存在大量的工厂类,势必会增加系统的开销。为了解决这个问题,可以考虑将一些相关的产品组成一个“产品族”,由同一个工厂来统一生产,这就是抽象工厂模式的基本思想。一、界面皮肤库的初始设计A科技公司打算开发一套界面皮肤库,可以对Winform桌面软件进行界面美化。用户可以通过菜单来选择皮肤,不同的皮肤将提供视觉效果不同的按钮、文本框、组合框等界面元素。结构示意
2021-03-08 08:19:03
485
原创 一起学习设计模式--03.工厂方法模式
简单工厂模式虽然简单,但是存在一个很严重的问题:由于静态工厂方法是根据传入的参数不同来创建不同的产品的,所以当系统中需要引入新产品时,就需要修改工厂类的源代码,这将违背开闭原则。为了实现增加新产品而不修改原有代码,工厂方法模式应运而生。一、日志记录器的设计A科技公司欲开发一个系统运行日志记录器(Logger),该记录器可以通过多种途径保存系统的运行日志,例如通过文件或数据库记录,用户可以通过修改配置文件灵活地更换日志记录方式。在设计各类日志记录器时,A科技公司的开发人员发现需要对日志记录器进行一些初始化
2021-02-28 08:53:22
226
1
原创 一起学习设计模式--02.简单工厂模式
工厂模式是最常用的一类创建型设计模式。我们所说的工厂模式是指工厂方法模式,它也是使用频率最高的工厂模式。简单工厂模式是工厂方法模式的小弟,它不属于GoF 23种设计模式,但是在软件开发中应用也颇为频繁,通常将它作为学习其它工厂模式的入门。一、图表库的设计A科技公司计划使用C#语言开发一套图表库,该图表库可以为应用系统提供各种不同外观的图表,比如柱状图、饼状图、折线图等。A科技公司的图表库设计人员希望为应用系统开发人员提供一套灵活易用的图表库,而且可以比较方便的对图表库进行扩展,以便能够在将来增加一些新
2021-02-22 08:27:27
218
原创 一起学习设计模式--01.单例模式
单例模式(Singleton Pattern):确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。单例模式是创建型模式的一种,是创建型模式中最简单的设计模式用于创建那些在软件系统中独一无二的对象。虽然单例模式很简单,但是它的使用频率还是很高的。学习难度:★☆☆☆☆使用频率:★★★★☆一、单例模式的动机任务管理器相信大家都不陌生,大家可以用自己的电脑做个尝试,在Windows的任务栏的右键菜单中多次点击“任务管理器”,看能否打开多个任务管理器窗口。正常情况下,无.
2021-02-16 09:27:55
866
原创 7种常用的面向对象的设计原则
面向对象设计的目标之一就是可维护性复用。包括:1、设计方案和代码的复用2、系统要易于扩展和修改面向对象的设计原则就可以作为上述目标的指导方针,这些原则蕴含在很多的设计模式中,是前辈们从许多的设计方案中总结出来的指导性原则。最常用的7种设计原则:单一职责原则(Single Responsibility Principle, SRP):一个类只负责一个功能领域中的相应职责开闭原则(Open-Closed Principle, OCP):软件实体应对扩展开放,对修改关闭里氏替换原则(Liskov
2021-02-09 09:18:26
180
原创 一起学习设计模式--设计模式
前言武侠小说中武术分招式和内功,比如独孤九剑就是招式,九阳神功就是内功。招式可能照猫画虎很快就能学会,但是内功心法则需要日积月累,一点一点的修炼。在我们日常开发中也分招式和内功。比如我们常见的C#、Java、C++、等编程语言,Visual Studio、Eclipse等开发工具,ASP.NET Core、JSP等开发技术,AutoFac、CAP等框架技术,这些我们都可以认为是招式。而数据结构、算法、设计模式、重构、软件工程等则为内功。一般内功好的人,学习剑招也会很快,就比如张无忌学会了九阳神功后,什
2021-02-08 08:29:27
200
原创 通俗系列之同步、异步、阻塞和非阻塞
前言在日常的开发中,经常出现同步、异步、阻塞和非阻塞等概念。有些人搞不清楚什么代码是同步,什么代码是异步。有些人说我用异步了啊,为什么效率还是没提高呢?也许你是用异步了,但是可能是异步阻塞了。有些人一听说异步好,就不管三七二十一,所有方法全部改成异步,然后就会产生新的问题。归根结底还是对同步、异步、阻塞和非阻塞的概念不理解。那究竟什么是同步、异步、阻塞和非阻塞呢?我决定尝试用比较通俗的例子举例来解释一下,于是便有了这篇文章。同步概念什么是同步?同步就是一个任务的完成依赖于另外一个任务,只有被依赖的
2021-01-24 11:51:56
237
1
原创 Woff2字体404错误
前提: 使用fontawesome图标库的时候,我们经常会遇到Woff2字体404的错误,这是因为IIS不认识这种Woff2.0的版本。需要我们手动添加支持。方法目前知道的有2种:在IIS中配置MIME类型。以下是3种经常会提示404的字体格式,按需添加即可。.svg image/svg+xmz.woff applica...
2018-09-03 11:15:15
744
原创 C# ConnectStream类型转 byte[]
背景: 之前项目使用HttpWebRequest请求接口,获取返回的流,并将流转换成byte[]然后失败了。又尝试将其转换成MemoryStream,结果又失败了。最后一查看返回Stream的类型才发现了原因…C# 中获取Http请求的方法相信大家也都知道,这里我只写出关键的两句://创建请求HttpWebRequest webRequest = (HttpWebReque...
2018-08-03 18:21:34
844
原创 C#判断网络文件是否存在
我们都知道判断本地文件是否存在直接用File.Exists(url)即可。 最近项目需要把数据库中对应的服务器上的图片全部下载下来做处理。尽管我们可以确认图片基本上都会存在,但是免不了会出现意外情况。这就需要判断一个网络地址的文件是否存在。判断网络文件是否存在的方法,其实就是模拟HttpWebRequest下载请求。你能获取到相应,就表明文件是存在的。 这是我写的一个字符串的扩展方法,...
2018-08-03 17:09:22
3271
原创 Angular集成Editor.md的Markdown编辑器,支持NgModel双向绑定
说明最近用angular做后端,需要用到markdown编辑器,网上找了许多,有html的,但是捣鼓了半天发现无法使用NgModel绑定;也有angular写的模块,但是集成到项目后发现不是很漂亮。后来无意间在博客园中看到了一位网友推荐的markdown,打开后发现完美!漂亮!和我一直喜欢的优快云的Markdown功能一样,后来才知道优快云的也是用的该用例。那就是Editor.md编辑
2018-01-04 09:20:56
5222
3
原创 WebStrom,IntelliJ IDEA输入中文不提示解决方法
WebStrom 2017.2之后的版本,在输入中文时不显示候选词提示框,原因是程序自带的OpenJDK和中文输入法有冲突,在IntelliJ IDEA中也有遇见过,估计所有JetBrains系列在2017版本中都会出现这种问题。解决方法:修改启动软件的JDK双击Shift打开Search EveryWhere,输入Switch IDE boot JDK,选择Switch IDE boot JDK…
2017-11-02 11:37:09
1178
Windows Install Clean Up
2013-04-25
Search And Replace
2013-04-09
System.Json.dll
2012-02-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人