自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (3)
  • 问答 (1)
  • 收藏
  • 关注

原创 手把手教你搭建使用NuGet私有源

简单理解它其实就是一个微软开发的包管理工具,就好比如JAVA中的Maven,Node中的NPM,Python中的PIP等等,其实目前大部分主流的编程语言都有自己的包管理工具。

2022-09-13 11:29:28 3997 1

原创 解决Oracle报错ORA-01403: 未找到任何数据

oracle遇到select into 报错未找到任何数据

2022-08-31 10:39:04 13680

原创 RabbitMQ入门篇:初识AMQP协议与七种消息模式

前言在之前的文章,我们已经简单了解过RabbitMQ是什么,然后怎么安装,本文主要接着细说如何在代码上实现RabbitMQ的六种消息模型,这里我使用的.net core 5为例来具体实现。AMQP协议我们都知道RabbitMQ是基于AMQP协议的一种消息中间件,那么AMQP协议到底是什么呢?AMQP全称:Advanced Message Queuing Protocol(高级消息队列协议)AMQP概述:是具有现代特征的二进制协议。是一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的

2022-02-11 14:50:17 2894

原创 RabbitMQ入门篇:基本介绍及安装配置

什么是RabbitMQRabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而聚类和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。​

2022-01-24 18:28:39 1920

原创 消息队列:基础概念篇

前言接下来我在写一些技术类科普的文章,大致会以who(它是谁)、why(为什么)、how(怎么做)的写作方向来向大家介绍说明,因为我认为这样子介绍说明思路会比较明确,也能够更快学会一项新技能,个人拙见,写得不好、不对的地方,还望大家赐教。Who|什么是消息队列(MQ)在计算机科学中,消息队列(英语:Message queue)是一种进程间通信或同一进程的不同线程间的通信方式,软件的贮列用来处理一系列的输入,通常是来自用户。消息队列提供了异步的通信协议,每一个贮列中的纪录包含详细说明的资料,包含发生的

2022-01-21 16:58:41 1616

原创 ElasticSearch学习第二篇:.net core中使用ES

前言在上一篇文章《ElasticSearch学习第一篇:windows环境下安装使用》,我已经简单介绍了关于ES的安装部署及一些概念性的东西,还有一些简单的增删改查操作。本文主要也是做一些增删改查操作,不同的是,我们要通过代码来实现。.net关于ES的客户端在.net客户端中,官网给我们提供了两种客户端...

2022-01-18 16:08:19 5273

原创 ElasticSearch学习第一篇:windows环境下安装使用

ElasticSearch介绍Elasticsearch是一个基于Lucene库的搜索引擎。它提供了一个分布式、支持多租户的全文搜索引擎,具有HTTP Web接口和无模式JSON文档。Elasticsearch是用Java开发的,并在Apache许可证下作为开源软件发布。官方客户端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和许多其他语言中都是可用的。[5]根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache

2022-01-13 11:49:58 4081 3

原创 minio:缩略图(netcore)

前言在我们日常开发中,附件的上传下载是必备的功能组件,那么在延伸一下功能,图片类型的文件,我们可以做一些缩略图功能。关于缩略图的方案,大致方向有两种:第一种是图片服务器直接存放多张图片,另外一种则是只存一张图片,然后通过nginx或者对文件的直接压缩返回。很明显,前者浪费空间,后者才是我们想要的,如果你们生产环境空间很足,那你们也可以搞第一种。关于用nginx还是直接对文件进行压缩返回,还是要根据自己生产环境的情况来定制开发方案,由于我们生产环境是windows的,查阅过nginx一些关于缩略图的资料

2021-11-23 14:49:09 9207

原创 .Net5 框架搭建(七):FreeSql配置多个数据库

前言因为项目关系,需要连接到多个数据库,之前我框架选择的ORM是FreeSql,所以这次我们对他进行一次简单的升级改造方案方式一:定义多个IFreeSql像这样子要几个连接实例,就写几个类优点:简单粗暴缺点:100个连接实例,就得写100个。。方式二:引用IdleBus重写IFreeSqlIdleBus 空闲对象管理容器,有效组织对象重复利用,自动创建、销毁,解决【实例】过多且长时间占用的问题。有时候想做一个单例对象重复使用提升性能,但是定义多了,有的又可能一直空闲着占用资源。专门解决:又

2021-11-12 15:52:00 3314

原创 nginx实战篇:ssl证书多域名配置

前提拥有一个通配符的域名证书,假如:*.xxx.com域名解析到服务器IP环境运行环境/软件名称版本操作系统windows2016nginx1.20.0nginx配置1、将购买的ssl证书文件解压到服务器中例如,我这边是解压到D:\SSL可以从解压的信息看出来,这个ssl证书是支持很多种web服务器修改nginx.conf配置文件完整的nginx.conf文件#user nobody;worker_processes 1;#error

2021-10-19 16:21:05 2385

原创 .net core:解决json数据某些字段返回null值问题

问题在我们日常开发中,都会遇到有些json数据返回是null,这是因为我们数据库是允许存null值的关系默认json例子:{ "code": 0, "msg": "获取成功", "data": { "id": "e90f79fa39ae488f8e2388416b534aeb", "approvalStatus": 3, "createTime": "2021-10-13", "hospitalId": "030d21d44f2146a7a0

2021-10-18 14:10:02 2567

原创 minio:实现简单上传跟下载(netcore版本)

前言在上一篇文章《minio:安装部署并安装成windows服务》我们已经简单介绍过minio的基本情况,本文主要介绍如何在netcore webapi项目中如何操作minio。准备这里我们要先创建个桶(Bucket),命名为test.NET Core集成这里都是围绕这minio官方提供的.net SDK进行扩展使用,更多详情可以参考官网http://docs.minio.org.cn/docs/master/dotnet-client-quickstart-guide创建个webapi项目

2021-10-11 16:47:02 5091

原创 Navicat Premium连接Oracle的问题汇总

问题一:报错ORA-28547:connection to server failed, probable Oracle Net admin error解决其实问题大概就是Navicat自带的oci.dll(连接oracle的文件)是错误的,需要我们到官网下载正确的oci文件。第一步:到https://www.oracle.com/database/technologies/instant-client/downloads.html 下载对应操作系统的客户端文件第二步:找到一个适合自己版本客户端

2021-09-30 14:57:31 469

原创 nssm.exe配置到环境变量

问题‘nssm’ 不是内部或外部命令,也不是可运行的程序或批处理文件。解决直接添加到环境变量pathD:\nssm-2.24\win64\nssm.exe全部确定,完成,再次打开cmd测试一下

2021-09-27 22:17:48 2472

原创 minio:安装部署并安装成windows服务

前言关于分布式文件存储,之前我也是使用fastdfs,那为什么突然选择minio?1、它可以多平台部署2、搭建起来不是很复杂3、github近30K的star什么是minio?构建高性能的云原生数据机器学习,大数据分析,海量存储的基础架构MinIO支持各种应用程序数据工作负载在中国:阿里巴巴、腾讯、百度、中国联通、华为、中国移动等等9000多家企业也都在使用MinIO产品更多详细介绍请参考官网官网:https://min.io/中文版:http://www.minio.org.cn/

2021-09-27 19:44:23 11442 11

原创 .Net5 框架搭建(六):使用自定义中间件对数据进行加密解密

前言因为项目需要,要求数据交互不能是明文,所以我们的项目的设计是这样子的,前端加密请求数据=》后端解密请求数据。一开始用着也没啥问题,直到我这边有个接口居然报请求数据太大,我就奇怪,这才多少量,也达不到post请求最大值。直到我发现,原来某个后端同事居然让前端把入参都放在header里面。。。。(别问我为什么入参会放在请求header,有些项目就是这么的匪夷所思!!!!)...

2021-09-16 10:55:33 1290

原创 解决阿里云服务器telnet端口不成功的问题

问题还原阿里服务器部署了一个API站点,端口为8079,本地电脑怎么telnet到这个端口都不成功排查防火墙要么把防火墙全部关闭,或者配置入站出站规则,这里我是直接关闭服务器的防火墙查看端口是否正常监听确保系统内部必须要有程序正在运行并且监听该端口,并且监听地址为0.0.0.0,如果监听地址为127.0.0.1的情况下只能服务器内部访问。Linux:netstat -anpt | grep 端口号 Windows:netstat -ano | findstr 端口号到这里,我也

2021-08-27 18:03:19 5217

原创 .Net5 框架搭建(五):JWT+IHttpContextAccessor实现用户认证以及用户信息获取

前言相信用做过登录功能的小伙伴都知道,用户登录成功后的有用信息,如:姓名、用户ID等等,无非这几种做法来保存这些信息,Session、Cookie、QueryString等等。但如今跨平台,百花齐放的时代,小程序啊、APP端啊、多端时代,最常见的就是单点登录,这明显传统上的传参方式就无法满足我们现有的需求。那么就会引用一个新的传参方式:JWT,根据维基百科的定义,JSON WEB Token(JWT),是一种基于JSON的、用于在网络上声明某种主张的令牌(token),是目前最流行的接口认证方案。对于它的

2021-08-12 16:38:25 2479

原创 jenkins:jenkins+svn+netcore+iis 搭建自动化部署

前言编译=》打包=》部署服务器,这应该是每个开发人员或者运维人员都经常做的事情,特别在项目开发阶段,也很频繁。假如一个公司没有运维,那开发人员整天在做这些,显然很影响其他工作。所以搭建一套持续自动化编译-部署的方案是有必要的。Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。环境准备运行环境/软件版本操作系统win10java jdk1.8.0_51net s

2021-07-16 17:02:01 981

原创 jenkins:解决更换插件源,插件下载不了的问题

问题Caused: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target相信一开始接触jenkins插件下载

2021-07-05 14:46:20 1872 1

原创 jenkins:windows环境下详细安装步骤,并解决windows版本下配置信息默认安装路径问题

问题解锁 Jenkins为了确保管理员安全地安装 Jenkins,密码已写入到日志中(不知道在哪里?)该文件在服务器上:C:\WINDOWS\system32\config\systemprofile\AppData\Local\Jenkins.jenkins\secrets\initialAdminPassword请从本地复制密码并粘贴到下面。相信从安装过windows版本的jenkins的小伙伴肯定遇到过这个问题,不管默认路径怎么改,照样会安装到C盘,这样子显然是有问题的。解决办法1、弃用

2021-07-04 23:21:03 4735 1

原创 .Net5 框架搭建(四):基于ActionFilter记录操作日志

前言在上篇文章《.Net5 框架搭建(三):基于ExceptionFilter+NLog封装异常日志收集》中我们提到了过滤器,也对异常信息做了日志记录,本文接着对五大过滤器中的操作过滤器Action Filter进一步实战功能的延续。问:那么什么业务场景适合用到操作过滤器呢?答:日志统计、权限过滤ActionFilter/操作过滤器官网截图大致意思,提供两种接口IActionFilter 或 IAsyncActionFilter 接口。1、IActionFilter这个接口提供两个方法O

2021-06-09 00:59:06 1357

原创 .Net5 框架搭建(三):基于ExceptionFilter+NLog封装异常日志收集

前言在我们项目开发测试过程中,有时候本地调试环境可能没问题,一部署到正式环境就可能出现各种问题,错误的原因各种各样,那么我们怎么准确的定位到错误呢,这时候就需要弄个可以监听这些业务功能的错误日志,但是又得要全局。这时候贴心的.net已经帮我们想到一种方案了,那就是Filter-过滤器。Filter-过滤器Filter是延续ASP.NET MVC的产物,同样保留了五种的Filter,分别是Authorization Filter、Resource Filter、Action Filter、Excepti

2021-05-31 10:35:24 923 3

原创 .Net5 框架搭建(二):事务

前言用过数据库客户端操作的小伙伴都应该知道开始事务,提交事务等等这些操作,那么代码中怎么实现事务呢,往下看认识事务1、概念数据库事务( transaction)是访问并可能操作各种数据项的一个数据库操作序列,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。事务由事务开始与事务结束之间执行的全部数据库操作组成。2、应用场景举个业务例子,小张要转账给小李100元,那么正常这时候数据库是不是要做两件事情,第一件是小张账号余额减100,第二件是小李账号增加100元。那假如小张在扣钱的这个

2021-05-20 10:51:41 362

原创 .Net5 框架搭建(一):简单三层架构+Freesql+Autofac

前言由于业务需要,希望搭建一套基于Freesql(ORM)的简单易懂三层架构,按照目前主流的开发模式都是仓储层+三层架构在开发,本框架去除仓储层,有些命名也比较通俗易懂,用于学习就好,前面大部分都是在描述一些基本的三层架构搭建,想看Autofac(第三方依赖注入容器)怎么使用的可以直接拉到最下面。正文三层架构的大致流程图:项目框架大概组成截图:0.Core:通用层1.Model:实体层2.DAL:数据访问层3.BLL:业务逻辑层4.WebApi:表示层0.Core(通用层)这层

2021-05-19 16:21:42 2516

原创 C#实战遇到的特性以及语法糖

前言本篇文章主要用来收集一些C#的特性以及各种语法糖,不定时更新$的用法c#6.0之后出现 /// <summary> /// 测试语法$ /// </summary> /// <param name="name"></param> /// <returns></returns> [HttpGet("testStr")]

2021-04-13 23:25:45 113

原创 .net core 3.1简单swagger配置教程

前言当今前后端分离开发已经成为一种大趋势,那后端开发人员给前端开发人员接口文档,无非就两种形式,手写接口文档跟在线接口文档。这时候引用swagger,让后端人员摆脱重复工作的麻烦。开始1、新建项目随便新建个空的webapi项目2、引入Swagger包。.Net Core 中支持两个分别为Swashbuckle和NSwag。两者的配置大同小异。这里以Swashbuckle为例。3、配置Swagger中间件3.1 在Startup类ConfigureServices方法中添加Swagger服

2021-03-16 00:47:13 2186

原创 nginx实战篇:负载均衡

前言Nginx提供的负载均衡策略有2种:内置策略和扩展策略。内置策略为轮询,加权轮询,Ip hash,扩展策略准备两个可用测试站点

2020-12-15 09:40:10 120

原创 nginx实战篇:反向代理

简单创建个.net core webapi项目参考我的文章《.net core3.1项目部署到linux的docker》[root@VM-0-2-centos conf]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESc575c1e350

2020-12-14 17:25:06 100

原创 nginx基础篇:linux安装nginx

环境CentOS 7.5(64位)安装编译工具及库文件yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel安装 PCREPCRE 作用是让 Nginx 支持 Rewrite 功能。1、下载 PCRE 安装包,下载地址: http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz[root@VM-0-2-cento

2020-12-04 16:15:37 89

转载 nginx知识篇:反向代理与负载均衡详解

前言Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的。从2004年发布至今,凭借开源的力量,已经接近成熟与完善。Nginx功能丰富,可作为HTTP服务器,也可作为反向代理服务器,邮件服务器。支持FastCGI、SSL、Virtual Host、URL Rewrite、Gzip等功能。并且支持很多第三方的模块扩展。Nginx的稳定性、功能集、示例配置文件和低系统资源的消耗让他后来居上,在全球活跃的网站中有12.18%的使用比率,大约为2220万个网站。牛逼吹的差

2020-11-27 17:40:58 339

原创 解决Oracle报错ORA-01653: 表xx无法通过 8192 (在表空间 xx_data 中) 扩展

排查问题首先排查放数据库的磁盘空间是否满了,假如没满接着查看表空间的使用情况,列出所有表空间的使用情况SELECT a.tablespace_name "表空间名称", total / (1024 * 1024) "表空间大小(M)", free / (1024 * 1024) "表空间剩余大小(M)", (total - free) / (1024 * 1024 ) "表空间使用大小(M)", total / (1024 * 1024 * 1024) "表空间大小(G)", fr

2020-10-28 16:54:08 3230

原创 .net core3.1使用Dapper访问oracle数据库

前言相信大家在选择ORM(对象关系映射器)框架的时候,都有自己的选择习惯,

2020-10-28 11:46:20 2649 1

原创 .net core3.1项目引用JWT保护API接口

前言在上一篇文章《.net core3.1项目部署到linux的docker》,向大家展示了一个简单的.net core api项目的部署过程,但是没有对接口的安全性过多的处理,相当于接口都是裸奔的情况,这是很危险的。所以我们对比进行升级一下,使用JWT来实现接口的认证。什么是JWT根据维基百科的定义,JSON WEB Token(JWT),是一种基于JSON的、用于在网络上声明某种主张的令牌(token)。JWT通常由三部分组成:头信息(header),消息体(payload)和签名(signatu

2020-10-24 11:28:51 515

原创 .net core3.1启用NLog记录日志

前言在之前的文章我们已经把.net core api项目成功部署到linux系统,接下来准备开始完善补齐我们的接口项目,一般.net项目记录日志信息的架包最常用的就是log4net跟NLog,根据自己喜好,本文使用的是NLog。开始创建一个新的ASP.NET Core项目...

2020-10-20 16:28:21 1706 2

原创 oracle常见业务语句(收集)

概要本文用于记录日常工作中遇到的常见sql语句记录(不定时更新~)日期相关判断某个日期是星期几SELECT to_char(to_date(‘2020-10-19’,‘YYYY-MM-DD’),‘day’) FROM DUALto_char的其他用法Select to_char(sysdate,‘ss’) from dual取当前时间秒部分Select to_char(sysdate,‘mi’) from dual取当前时间分钟部分Select to_char(sysdate,‘HH24’

2020-10-19 18:05:42 125

原创 解决使用JSON JavaScriptSerializer 进行序列化或反序列化时出错。字符串的长度超过了为 maxJsonLength属性

前言在.net mvc的控制器中,我们在写一些返回json数据的方法,一般会写成return Json(obj);但这种返回类型如果是obj数据过大的话,就会报错“使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错,字符串的长度超过了为 maxJsonLength 属性设置的值”常见写法在.net mvc的controller中,方法返回JsonResult,一般我们这么写: [HttpPost] public JsonResult G

2020-10-14 16:05:43 3864

原创 .net core3.1项目部署到linux的docker

前言本项目作为一个练手项目,既然.net core是为了跨平台而生,那我们就做一个项目部署在linux中,废话不多说,直接开始做我们的项目环境准备vs2019+.net core 3.1+linux+docker准备一个简单.net core的API项目部署到docker中...

2020-10-13 00:46:41 1237 1

原创 WebSocket:使用第三方库做一个服务端

前言相信大家在做web项目的时候可能都会遇到某些信息弹窗,提醒之类的功能,最简单粗暴的方式就是轮询,比如每秒浏览器从服务器发起http请求,然后服务器返回最新的结果过来。所以这种一直循环方式有很大的缺陷,浪费带宽资源、被动、单向。因为HTML5定义了WebSocket协议,WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议,简单来说能够达到客户端与服务端的双向,更多的介绍大家可以去网上搜搜,就不多说了,下面开始做一个.net的WebSocket的服务端。选择一个

2020-09-30 17:47:37 1553

原创 .net中使用Redis(一)

前言Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库。Redis 与其他 key - value 缓存产品有以下三个特点:Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。Redis支持数据的备份,即master-slave模式的数据备份。最近项目中需要使用Redis,这里简单记录一下Redis的

2020-09-15 14:52:54 3550 8

一个基于websocket-sharp的在线聊天范例

本项目是一个基于websocket-sharp开源dll封装的在线聊天项目,服务端采用WinForm作为服务引擎。用于framwork4.5版本实现websocket。

2020-09-30

websocket-sharp

websocket-sharp 是非常好用的c#开源dll,这是我从https://github.com/sta/websocket-sharp上下载开源代码编译生成的dll,经过本人测试,完全可以使用

2020-09-30

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

TA关注的人

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