排序:
默认
按更新时间
按访问量

ASP.NET Core默认注入方式下如何注入多个实现(多种方式)

在我们开发过程中,对于服务来说,一般我们定义interface实现均只存在一个具体实现(有人戏称这种情况为十代单传模式),这时候Core默认的注入方式已经支持我们的需求,但对于某些抽象定义实现来讲,我们可能会有多种具体实现,在项目中,我们可能会按照具体需求选用不同的实现。 首先先具体下我们的业务...

2018-07-30 11:52:44

阅读数:97

评论数:1

【翻译】在.NET下如何预防XXE注入攻击

接下来关于.NET中XXE注入的内容来自Dean Fleming单元测试的Web站点:https://github.com/deanf1/dotnet-security-unit-tests。该站点覆盖了目前.NET下支持的所有XML解析器,且测试用例均展示了哪些情况下它们对于XXE注入而言是安全...

2018-07-06 10:09:05

阅读数:166

评论数:0

基于MailKit的发送邮件辅助类

MailKit是Net下免费开源的邮箱类库,其github地址为:https://github.com/jstedfast/MailKit一般情况下,MailKit都工作的很好,但可能是姿势不对,在发送附件时,只要附件名为中文名,接收方接收到的附件名必然是乱码或者tcmime.xx.xx.xx.b...

2018-06-15 15:53:40

阅读数:241

评论数:0

ABP天坑--UOW自动保存修改

ABP项目也做了挺久了,实际上也没碰上太多的问题,但这两天被ABP的自动保存修改(Automatically Saving Changes)这个天坑给恶心坏了因为项目设计上的问题,原先为了方便加上环境限制,没有文件服务器来进行文件持久化服务,这样多个系统之间如何共享文件就成了个问题,所以当初设计上...

2018-06-08 15:24:28

阅读数:113

评论数:2

TemplateManager,记录一份失败的代码

Spire.Pdf这个控件应该蛮多需要操作pdf的开发都多少接触过,其标榜免费的版本FreeSpire.Pdf,按其官方声明,也仅仅比商业版多了一些限制,但其实还隐藏性的做了一些其他限制,而其声明中根本没提及的不支持多线程并发操作,恰恰是导致了标题描述的失败代码产生! 先说下使用场景,业务需要按...

2018-05-10 13:55:54

阅读数:69

评论数:0

quartz.net 3.x版本如何通过xml文件进行Job配置

在2.x版本中,我们可以简单的在quartz.config文件中通过以下Xml配置方式来注册相应的Job以及触发器quartz.plugin.xml.type = Quartz.Plugin.Xml.XMLSchedulingDataProcessorPlugin, Quartz quartz.p...

2018-04-20 11:49:15

阅读数:434

评论数:0

写烂了的C#获取枚举对应的描述信息

为什么说是写烂了的?这的确是写烂了的,N年就写过,网上一搜更是一大把 既然是写烂了的,为啥还要再写?首先因为网上都是仅仅反射获取,没考虑过额外的增加一个缓存步骤来提高性能;其次网上的也都只是对应特定特性,如果需要再支持其他特性就需要改下代码;最后如果是第三方枚举,本身并没提供任何描述特性,这里也...

2018-04-19 11:37:12

阅读数:98

评论数:1

ASP.NET MVC Core中launchSettings.json修改导致VS2017无法启动IIS Express问题

项目开发往往避免不了与其它系统的交互,而在开发过程中,直接通过VS调试状态与其它项目组成员进行调试也算是比较方便的调试方案(当然一般这也仅仅是内网调试状态),所以就引出了今天这个问题,VS 2017居然无法启动IIS Express! 默认创建一个新的MVC core项目时,在Propertie...

2018-04-02 15:25:36

阅读数:424

评论数:0

C#下如何控制并发运行的Task数量

首先需要说明的是Task不等于Thread,只是微软默认实现ThreadPoolTaskScheduler是依赖于线程池的,因为该类的可访问性为internal,所以我们在实际编码中无法直接在代码中new这么一个Scheduler出来,只能通过TaskScheduler.Default间接的来使用...

2018-03-27 14:18:05

阅读数:2149

评论数:1

Polly善用Context来记录异常发生时的参数信息

Polly是一个.NET弹性和瞬态故障处理库,具体用法可以参考:https://github.com/App-vNext/Polly,此处不会细讲如何使用Polly来进行异常处理或重试,就如标题所说,本篇内容主要为异常发生时除了Exception,又如何获取记录发生异常时你可能关心的数据信息 可...

2018-03-22 17:06:16

阅读数:93

评论数:0

ABP模板含Zero用户角色的项目还原数据库及数据至MySql相关问题记录

ABP是啥这里就不多说了,既然都已经到还原数据库了,肯定对ABP已经有所了解,ABP通过官网创建时目前提供两种方式:ASP.NET MVC 5.x、ASP.NET Core 2.x,这里分别描述ASP.NET MVC 5.x参考地址:https://www.cnblogs.com/LonelyCo...

2018-03-09 16:46:53

阅读数:293

评论数:0

Xml序列化当泛型不同时序列化(反序列化)为不同的Xml节点名称

在我们提供接口服务给第三方调用时,一般会采用Request/Response模式,即请求与响应都采用统一的外部封装,真正的业务数据则由Request/Resonse的某个参数比如Data之类的类进行承担,以Request为例,该请求类假设定义成如下内容: /// /// 数据请求类...

2018-03-07 16:59:29

阅读数:279

评论数:0

C#下对PDF文件进行电子图片签名

能够对pdf进行图片签名的,网上找来找去,就一个iText是免费的,但这个免费是AGPL协议,当然它也有商业协议,iText现在有5和7两个版本,这里我采用的是版本5,nuget下载地址为:https://www.nuget.org/packages/iTextSharp/,然后为了多做比较,我这...

2018-02-07 11:40:49

阅读数:468

评论数:0

C#下实现RSA公钥私钥由pcks8格式(java)转化为pcks1格式(非java)

对于Pcks不了解的可以先看下PKCS标准,然后这里暂时只有pcks8格式转化为pcks1格式,暂时还没能找到直接通过BouncyCastle来转化pcks1格式到pcks8格式的方法或代码(当然可以借由RSACryptoServiceProvider来进行读取,然后再进行间接的转化),只找到了通...

2018-02-01 10:44:01

阅读数:358

评论数:0

C#下生成CSR证书签名请求

首先普及下知识,CSR是证书签名请求,它不是证书,是用于向CA公司申请证书的,以下为代码: using Org.BouncyCastle.Asn1; using Org.BouncyCastle.Asn1.Pkcs; using Org.BouncyCastle.Asn1.X...

2018-01-31 14:56:01

阅读数:210

评论数:0

C#实现RSA公钥加密私钥解密、私钥加密公钥解密以及Pcks12、X509证书加解密、签名验签

RSA的私钥签名公钥验签可以见http://blog.csdn.net/starfd/article/details/51917916,所以这里就没提供对应代码,具体代码如下: using Org.BouncyCastle.Asn1; using Org.BouncyCastle.A...

2018-01-25 17:07:17

阅读数:1098

评论数:0

C#下支付宝新版异步回调数据处理及校验(需支付宝提供的AopSdk)

对于支付宝,我们首先得赞扬下,提供了NET下的SDK,这个AopSdk当真是大而全,但同时却又不得不吐槽下,都提供了那么多的Request/Response(笔者下载的是alipay-sdk-NET20170615110549,里面光Request就有556个),但回调这一块居然一点都没提供(我确...

2018-01-17 16:25:36

阅读数:1272

评论数:4

NET Standard/Core中配置使用TargetFrameworks输出多版本类库及测试

在core之前,要使一个项目支持多个Frame版本,那么可行的办法就是创建多个版本的项目,然后以一个项目为主体,其它版本以添加--现有项--添加为链接的方式将代码文件添加到对应版本中,如果代码不同,则需要使用#if标签,而在core之后,如果需要发布多版本,可以不再需要创建多个项目,这里以VS20...

2017-12-19 11:48:27

阅读数:5469

评论数:0

3DES将16位秘钥升级为24位

C#下TripleDES默认支持16位和24位的秘钥,而Java下的DESedeKeySpec就只支持24位,其实怎么说呢,按3DES规范要求,的确其秘钥应该是24位而不是16位的,但16位秘钥可以按 前8位+后8位+前8位 的规则来升级成24位的秘钥,所以我们只需要简单的通过数组的Copy就可...

2017-12-12 17:18:54

阅读数:695

评论数:0

Hive通过JDBC方式访问时碰到的问题汇总

1、执行hive sql时服务器报Connection refused错误 解决方法:Hive没有启动hive server2,可以通过如下指令启动,指令的后半段是指定日志存放地址hive --service hiveserver2 2>&1 >> /home/user...

2017-10-19 13:49:23

阅读数:629

评论数:0

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