在要求输入邮箱的文本域,请填写真实的邮件地址。非真实邮件地址,将收不到回复信息。

 分类:.net core

.NET CORE实现MD5加密

背景 因某些需求,需要与合作单位进行相应的数据交互,而交互均使用了加密方式处理并用MD5作为签名,以便校验传输内容是否遭到篡改。 MD5 md5是一种信息摘要算法,它可以从一个字符串或一个文件中按照一定的规则生成一个特殊的字符串,并且一个文件所对应的MD5摘要是固定的,当文件内容变化后,其MD5值也会不一样,因此,在应用中经常使用MD5值来验证一段数据有没有被篡改。 .NET CORE 实现MD5 以下简单实现,支持返回大小写、32位以及16位MD5字符串。 public static class EncryptionMd5 { /// <summary> /// md5加密 /// </summary> /// <param name="conten...

1周前 (09-02) 27℃ 0评论 0喜欢

.Net Core实现AES加解密

背景 因业务需求,需要与其他平台实现融合登录,根据提供融合登录方的文档内容,对AES加密解密相关内容使用.NET CORE来进行一次实现。以下记录实现AES加解密后的内容,便以后备用。 AES 高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。严格地说,AES和Rijndael加密法并不完全一样(虽然在实际应用中二者可以互换),因为Rijndael加密法可以支持更大范围的区块和密钥长度:AES的区块长度固定为128 比特,密钥长度则可以是128、192或256比特;而Rijndael使用的密钥和区块长度可以是32位的整数倍,以128位为下限,256比特为上限。包括AES-ECB、AES-C...

1周前 (09-02) 26℃ 0评论 0喜欢

asp .net core 不使用构造函数获得注入的对象

使用asp .net core 2.1使用自带的依赖注入,自带的依赖注入是构造函数注入。有些情况,构造函数注入并不能满足需求,所以需要使用其他方法获取指定实例。 public interface IEngine { /// <summary> /// 类型构建 /// </summary> /// <param name="type"></param> /// <returns></returns> object Resolve(Type type); } public class GetEngine: IEngine { private IServiceProvider _serviceProvider; ...

1个月前 (08-08) 46℃ 2评论 1喜欢

ASP.NET Core 配置跨域(CORS)

由于项目中需要实时消息,所以就使用了ASP.NET(Core) SignalR实时通讯库。因为业务服务与通讯服务是独立的,所以涉及到跨域的问题, 浏览器抛出的异常非常明显,这个是明显跨域相关内容。 报错信息如下: Access to XMLHttpRequest at ‘http://192.168.2.13:5005/api/v1/commommessage/messageHub/negotiate’ from origin ‘http://127.0.0.1:5500’ has been blocked by CORS policy: Response to preflight request doesn’t pass access control check: No ‘Access-Control...

8个月前 (01-13) 409℃ 0评论 14喜欢

docker环境下使用EPPlus 导出Excel报错问题

网站内容在Windows环境下并没有出现任何问题,但是在Linux 系统Centos的Docker环境下就出现了相关错误。这让人一脸蒙逼啊, 未能加载libdl库。使用了EPPlus处理Excel,其内部设置了字体大小以及颜色之类的东西,使用了‘ System.Drawing.Font ’的相关内容。由于Linux系统中Docker环境下缺少相关库,故而出现异常。具体错误请看以下内容。 报错内容: fail: System.Exception[-2146233036] The type initializer for ‘Gdip’ threw an exception. System.TypeInitializationException: The type initializer for ‘Gdip’ threw an exception. —> System...

9个月前 (12-31) 115℃ 0评论 1喜欢

使用Quartz.NET实现定时(计划)任务

Quartz.NET Quartz.NET是一个强大、开源、轻量的作业调度框架,是 OpenSymphony 的 Quartz API 的.NET移植,用C#改写,可用于winform和asp.net应用中。它灵活而不复杂。你能够用它来为执行一个作业而创建简单的或复杂的作业调度。它有很多特征,如:数据库支持,集群,插件,支持cron-like表达式等等。 官网:http://www.quartz-scheduler.net/ 源码:https://github.com/quartznet/quartznet 示例:http://www.quartz-scheduler.net/documentation/quartz-2.x/quick-start.html 其实Quartz是一个完全由java编写的开源作业调度框架,Quartz是OpenSymphony开...

9个月前 (12-16) 118℃ 0评论 0喜欢

.net core 使用 IHostedService 实现定时执行的任务

背景后台任务和计划任务最终可能需要在基于微服务的应用程序或任何类型的应用程序中实现。 使用微服务体系结构的区别在于,可以实现一个微服务进程/容器来托管这些后台任务,以便根据需要对其进行减少/增加,或者甚至可以确保它运行该微服务进程/容器的单个实例。 一般在 .NET Core 中,我们将这些类型的任务称为托管服务 ,因为它们是托管在主机/应用程序/微服务中的服务/逻辑。 请注意,在这种情况下,托管服务仅表示具有后台任务逻辑的类。 前言 从 .net core 2.0 开始,开始引入 IHostedService,可以通过 IHostedService 来实现后台任务,但是只能在 WebHost 的基础上使用。从 .net core 2.1 开始微软引入通用主机(Generic Host),使得我们可以在不使用 Web 的情况下,也可以使用 IHostedSe...

9个月前 (12-07) 155℃ 0评论 1喜欢

ML.NET 来对鸢尾花分类

主要目的演示如何使用 ML.NET 为鸢尾花数据集构建聚类分析模型。了解ML.NET使用基本流程。 问题 问题的本质即基于花卉特征将鸢尾花数据归入不同的组。 这些特征包括:花萼的长度和宽度以及花瓣的长度和宽度。 需通过这些特征了解数据集的结构,并预测数据实例与此结构的拟合相似分类。 创建控制台应用程序 打开 Visual Studio。 从菜单栏中选择“文件” > “新建” > “项目”。 在“新项目”对话框中,依次选择“Visual C#”和“.NET Core”节点。 然后,选择“控制台应用程序(.NET Core)”项目模板。 在“名称”文本框中,键入“MLNet”,然后选择“确定”按钮 在项目中创建一个名为“数据”的目录来保存数据集和模型文件: 在“解决方案资源管理器”中,右键单击项目,然后选择“添加”...

1年前 (2019-05-27) 198℃ 0评论 0喜欢

.net core配置信息appsettings读取

因为使用.net core写了一些简单的控制台应用程序,并且需要一些配置信息。于是想是用.net framework中的 ConfigurationManager进行处理,发ConfigurationManager在.net core 中不被支持。 .net core配置说明 .NET CORE 配置主要涉及三个对象,它们分别是Configuration、ConfigurationBuilder和ConfigurationProvider,Configuration对象承载着在编程过程中使用的配置信息,ConfigurationProvider则是配置信息原始数据源的提供者,两者之间沟通由ConfigurationBuilder来完成,它利用ConfigurationProvider提取源数据将其转换为Configuration对象。 IConfigurationR...

2年前 (2019-03-12) 254℃ 0评论 0喜欢

HttpClient在.net Core 中报字符集报错的问题

在.net core 中使用了HttpClient库进行网络访问,有些网站成功,有些网络失败。报错内容如下: The character set provided in ContentType is invalid. Cannot read content as string using an invalid character set. ‘gbk’ is not a supported encoding name. For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method.Parameter name: name 报错 详细错误 “gbk”字符集不被...

2年前 (2019-03-10) 340℃ 0评论 0喜欢

ASP.NET Core简单的文件上传

朋友发消息说他老婆公司资料无法拷贝出来,U盘以及常见的网盘全部无效。问我有没有其他办法,于是就使用asp.net core做了一个最简单的文件上传来试一试。理论上应该可行,因为新的上传网站以及页面元素没有在他们公司网监出现过,死马当作活马医吧!离职最后一天的最后2个小时了,时间紧任务哦! 对话 ASP.NET MVC操作支持使用简单模型绑定对较小文件进行单个或者多个文件上传。 使用模型绑定上传小文件 要上传较小的文件,可以使用多部分HTML表单或使用JavaScript构建POST请求。 <form action="/Home/UploadFiles" method="post" name="upload" enctype="multipart/form-data"> <div class="form-group"> ...

2年前 (2019-01-10) 372℃ 0评论 0喜欢

.net core的MemoryCache缓存存取MemoryCacheHelper

/// <summary> /// 缓存帮助类 /// </summary> public class MemoryCacheHelper { private static readonly MemoryCache Cache = new MemoryCache(new MemoryCacheOptions()); /// <summary> /// 验证缓存项是否存在 /// </summary> /// <param name="key">缓存Key</param> /// <returns></returns> public stat...

2年前 (2018-10-14) 487℃ 0评论 0喜欢

.net Core 中DateTime在Linux Docker中与Windows时间不一致

最近写了一个.net core项目,部署到CentOS并在docker上运行的时候,发现DateTime.Now获取的时间与Windows不一致(定时执行的任务,晚了8个小时),在Windows中可以正确的获得本地时间,而在Linux CentOS 的Docker环境中获取的时间少了8个小时。通过Linux命令查看本机时间,本地时间正确,但.net core在Docker运行获取时间依然是少8个小时。猜测可能是时区的问题,然后就找到了NodaTime的一个库进行获取统一时区的时间,完成后Linux CentOS的Docker环境上获取的时间就与Windows中保持了一致。 NodaTime库需要下载相关包,也可以直接使用Nuget下载。 项目地址 nodatime项目git开源nodatime官网 新增一个DateTime扩展方法: pu...

2年前 (2018-09-30) 811℃ 0评论 11喜欢