自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

星辉Johnson的博客

星辉Johnson的博客

  • 博客(184)
  • 资源 (1)
  • 收藏
  • 关注

原创 C# 实体类转换的两种方式

以下提供两种方式,一种是序列化,一种是泛型+反射;

2023-10-10 10:53:06 313

原创 C# 3Des ECB加密方式

【代码】C# 3Des ECB加密方式。

2023-02-14 10:10:09 384

转载 dapper 批量删除、新增、修改说明

dapper 批量删除、新增、修改说明

2022-07-29 11:52:55 1543

转载 debugdiag调试工具使用汇总

文章1:Debugdiag可以用来追踪windows下程序崩溃,卡死(包括死锁),断言等一些疑难问题的原因,对检测程序内存泄漏也有很好的帮助,相对于另外一款windbg调试器来说,是程序员的轻量级武器。本文讲述debug版本(release版本也可以,只不过debug版本能更明显地定位引起出错的代码行)的程序在程序崩溃,卡死,和出现断言时,怎样用debugdiag来帮助定位源代码中引起问题的代码。一 程序崩溃时,debugdiag抓dump文件的方法注意在程序崩溃之前,就要用debugdia

2021-07-08 11:34:05 2581

转载 IIS初始化(预加载),解决第一次访问慢,程序池被回收问题

你以为你可以慢,那是不可能的!你以为你可以不动,那也是不可能的!  河南是守株待兔故事情节的发源地,讲的是懒惰的农夫坐在树桩旁等待可爱的小毛兔撞树的故事,那么这种事情怎么可能天天出现呢!你以为的事并一定按照你想象的那样发展,所以主动出击将是最有效的方式!每一个圣徒都有过去,每一个罪人都有未来!读在最前面:  1、本文以IIS8,Windows Server 2012R2做为案例  2、IIS8 运行在Windows Server 2012 and Windows 8 版本以上的平台上。.

2021-06-23 10:31:08 501

转载 redis缓存雪崩、穿透、击穿概念及解决办法

缓存雪崩对于系统 A,假设每天高峰期每秒 5000 个请求,本来缓存在高峰期可以扛住每秒 4000 个请求,但是缓存机器意外发生了全盘宕机。缓存挂了,此时 1 秒 5000 个请求全部落数据库,数据库必然扛不住,它会报一下警,然后就挂了。此时,如果没有采用什么特别的方案来处理这个故障,DBA 很着急,重启数据库,但是数据库立马又被新的流量给打死了。这就是缓存雪崩。大约在 3 年前,国内比较知名的一个互联网公司,曾因为缓存事故,导致雪崩,后台系统全部崩溃,事故从当天下午持续到晚上凌..

2021-03-15 16:33:43 165

转载 如何友好的处理 WebApi 中抛出的错误

微软的 ASP.NET Web API 是一个轻量级的web框架,可用来构建基于 http 无状态的rest服务,异常是一种运行时错误,异常处理是一种处理运行时错误的技术,每一个开发者都应该知道如何处理 Web API 中的异常,并且在 Action 中使用合适的错误码和错误信息进行包装。WebAPI 中的 HttpResponseException你可以在 Action 中使用 HttpResponseException 来包装指定的 HttpCode 和 HttpMessage,如下例子...

2021-03-04 09:46:13 587 1

转载 雪花算法Snowflake

雪花Id生成算法,是鼎鼎有名的分布式Id生成算法。它的优点在于,在分布式系统中快速生成有时间顺序的唯一编号!Snowflake实测每秒可生成900万个唯一Id。Nuget包:NewLife.Core源码地址:https://github.com/NewLifeX/X/blob/master/NewLife.Core/Data/Snowflake.cs核心原理使用一个 64 bit 的 long 型的数字作为全局唯一 id。在分布式系统中的应用十分广泛,且ID 引入了时间戳,基本上保.

2021-02-25 14:17:54 764

转载 C#使用OpenCV剪切图片中的人物头像

前言本文主要介绍如何使用OpenCV剪切图形中的人物头像。准备工作首先创建一个Wpf项目——OpenCV_Face_Wpf,这里版本使用Framework4.7.2。然后使用Nuget搜索【Emgu.CV】,如下图。这里的Emgu.CV选择4.3.0.3890版本,然后安装Emgu.CV和Emgu.CV.runtime.windows。然后下载所需文件haarcascade_frontalface_default.xml。可以去OpenCV的开源代码中下载,下载地址:http

2021-02-22 15:26:37 622

转载 如何将 Dapper 换成 SqlSugar ORM

Dapper 介绍Dapper是一个轻量级开源的ORM类,他是通过扩展IDbConnection提供一些有用的扩展方法去查询您的数据库,所以Ado.Net支持的数据库,他都可以支持。在速度方面具有“King of Micro ORM”的头衔,几乎与使用原始的ADO.NET数据读取器一样快。很多人第一次使用了他之后,就深深的喜欢上他了。SqlSugar 介绍SqlSugar 同样轻量级小巧,功能方面更加全面,需求都是来自1000多开发人员的真实项目需求,在这些需求上进行完美的设计,经过..

2020-12-15 16:55:01 608

转载 把Autofac玩的和javaSpring一样6

前言大家好,今天来介绍我开源的一个autofac.Annotation项目 源码:https://github.com/yuzd/Autofac.Annotation 本项目是autofa的一个扩展组件,autofac是一个老牌的DI容器框架 ,支持netframework和netcore Annotdation是注解的意思,在java项目里面 注解的概念和 csharp里面的 Attribute 的概念是一样的。 项目的目的降低玩DI容器的门槛,快速实现依赖注入 自动装配 以.

2020-09-29 10:56:30 332

转载 RabbitMQ与Kafka选型对比

背景本公司是.NET项目,在.NET可选的MQ比较少,主要Kafka和RabbitMQ,RabbitMQ我也是使用多年了,最近的Kafka广告与流行度我也是无法无视,因此也是花了点时间收集了资料做了些对比。此外有个小插曲,当我形成了文档让老板兼CTO对比决策后,他打算上阿里云买MQ服务。我当时给他开了个玩笑:您这价钱把我请回来,而且公司还有运维,其实完全可以自己维护,要不我来负责,你把这每个月的MQ费用给我加工资得了。当我下楼买了支维他柠檬茶后,他决定由我们自己搭建RabbitMQ。这个决定跟我

2020-09-29 10:14:06 1008 3

转载 C# 使用PROTOCOL BUFFERS

Google Protocol Buffers 使用3.0版本下载protoc.exe下载链接https://github.com/protocolbuffers/protobuf/releases阅读使用指南https://developers.google.com/protocol-buffers/docs/csharptutorial生成命令protoc -I=. --csharp_out=. ./addressbook.proto-I 输入当前目录--csha...

2020-09-28 15:11:45 649

转载 .NET Core 微服务之grpc初体验

GitHub:https://github.com/grpc/grpcgRPC是一个高性能、通用的开源RPC框架,其由Google主要面向移动应用开发并基于HTTP/2协议标准而设计,基于ProtoBuf(Protocol Buffers)序列化协议开发,且支持众多开发语言。gRPC提供了一种简单的方法来精确地定义服务和为iOS、Android和后台支持服务自动生成可靠性很强的客户端功能库。客户端充分利用高级流和链接功能,从而有助于节省带宽、降低的TCP链接次数、节省CPU使用、和电池寿命。..

2020-06-09 15:03:19 466

转载 开源分布式Job系统,调度与业务分离-如何创建一个计划HttpJob任务

项目介绍:Hangfire:是一个开源的job调度系统,支持分布式JOB!!Hangfire.HttpJob是我针对Hangfire开发的一个组件,该组件和Hangfire本身是独立的。可以独立更新Hangfire版本不影响!该组件已被Hangfire官方采纳,在Hangfire官网可以查到:开源地址:https://github.com/yuzd/Hangfire...

2020-01-03 16:40:41 692

转载 dump解析入门-用VS解析dump文件进行排障

突然有一天部署在服务器的一个应用挂掉了,没办法只能进入服务器打开【事件查看器】查看下,好不容易找到了打开后一脸懵逼事件查看器查到的内容根本对我们排障没有任何作用。在这个时候如果有对应的dump文件就能派上用场了,只要有dump文件就能查到应用挂掉那刻的一手情报,可能有人认为分析dump文件是非常难的事情,但是最近不断有新的dump分析工具出来,例如...

2020-01-03 16:37:30 401

转载 redis系列:基于redis的分布式锁

一、介绍这篇博文讲介绍如何一步步构建一个基于Redis的分布式锁。会从最原始的版本开始,然后根据问题进行调整,最后完成一个较为合理的分布式锁。本篇文章会将分布式锁的实现分为两部分,一个是单机环境,另一个是集群环境下的Redis锁实现。在介绍分布式锁的实现之前,先来了解下分布式锁的一些信息。二、分布式锁2.1 什么是分布式锁?分布式锁是控制分布式系统或不同系统之间共同访问共享资源...

2019-11-29 17:15:55 166

转载 浅谈Word.Application,关于js操作word文档的使用

这篇文章只是说个人放个笔记在这里,并没有讲解的意思,但为了进来的朋友能知道我在说啥,写的过程中我还是简单介绍一下。说真的,刚开始我也不知道可以用js操作word文档,所以当我拿到这个任务的时候,内心是抗拒的,因为听都没听说过,现在却要我做,先不说能不能找到相关教程,就算有,一边学一边做也难免会遇到各种问题啊。但工作就是工作,即便不行,硬着头皮也是要上的,就算到后来你会得到这样一个反应————你...

2019-11-27 17:42:32 5756

转载 Fiddler抓取HTTPS最全(强)攻略

对于想抓取HTTPS的测试初学者来说,常用的工具就是fiddler。可是在初学时,大家对于fiddler如何抓取HTTPS真是伤了脑筋,可能你一步步按着网上的帖子成功了,那当然是极好的。有可能没有成功,这时候你就很抓狂了,我把一些我的安装经验和网络上的教程进行了整合(其中注意事项及10、11步骤)。下面为大家演示如何用fiddler抓取HTTPS的详细教程。如若失败,请先仔细检...

2019-09-29 17:58:04 371

转载 Asp.Net正在中止线程引发的问题

背景:Asp.Net做的一个同步程序,同步的方法是通过JQuery的Ajax调用,同步过程大概要执行20多分钟,程序部署到服务器后执行一段时间后就弹出执行失败的对话框,日志记录的错误信息是“正在中止线程”。查错过程:1、根据“AspNet 正在中止线程“进行搜索,得到的结果基本都是跟”Response.End“有关的,但我的代码中没有Response.End,所以基本可以排除;2、...

2019-09-25 17:07:50 311

转载 聊一聊数据库中的锁

背景数据库中有一张叫后宫佳丽的表,每天都有几百万新的小姐姐插到表中,光阴荏苒,夜以继日,日久生情,时间长了,表中就有了几十亿的小姐姐数据,看到几十亿的小姐姐,每到晚上,我可愁死了,这么多小姐姐,我翻张牌呢?办法当然是精兵简政,删除那些age>18的,给年轻的小姐姐们留位置...于是我在数据库中添加了一个定时执行的小程序,每到周日,就自动运行如下的脚本delete from `后...

2019-09-03 16:12:27 248

原创 使用存储过程非常慢,但是执行SQL很快问题分析

问题一:存储过程放在查询分析器中执行,大概耗时5秒左右即可成功执行,但是在网站中执行却会超时1. 将该存储过程放到查询分析器中执行,大概耗时5秒左右即可成功执行,但是在网站中执行却会超时;2.经查阅资料,这里存储过程的执行计划是被缓存了,参数不同,还是按照老的执行计划查询,效率也会不同3.解决办法:在存储过程的定义上,加上WITH RECO...

2019-08-20 09:38:49 22931 3

原创 Aspose.Cell导出Excel

XmlDocument doc = new XmlDocument(); doc.LoadXml(text); //doc.LoadXml(richTextBox1.Text.Replace("\r\n", "")); XmlNamespaceManager xnm = new XmlNamespac...

2019-08-16 17:16:51 1156

原创 C#操作xml SelectNodes,SelectSingleNode总是返回NULL问题修复

下面以一个简单的xml为例:XmlDocument doc = new XmlDocument();doc.LoadXml(text.Replace("\r\n", ""));XmlNode n= doc.SelectSingleNode("/Report/DataSources");以上代码这么读xml节点都取不到,xmlnode=null。产生这个问题的原因就在于上面的xml...

2019-08-09 19:03:00 1082

原创 sqlserver查看历史死锁信息

在项目运行的过程中,死锁不可能完全避免,但要尽可能减少死锁的出现,产生死锁的原因主要是:1,系统资源不足。2,进程运行推进的顺序不合适。3,资源分配不当等。产生死锁的四个必要条件:- 互斥条件:一个资源每次只能被一个进程使用,即在一段时间内某资源仅为一个进程所占有。此时若有其他进程请求该资源,则请求进程只能等待。- 请求与保持条件:进程已经保持了至少一个资源,但又提出...

2019-08-08 15:51:27 7295 1

原创 查看sqlserver当前所有请求

---查看当前数据库系统所有请求情况。SELECT ds.session_id, ds.status, Db_name(dr.database_id) AS database_name, ds.login_name, ds.login_time, ds.host_name, dc.client_net_addr...

2019-08-07 11:17:33 599

转载 sqlserver性能调优之逻辑内存消耗最大资源分析

一.概述  IO 内存是sql server最重要的资源,数据从磁盘加载到内存,再从内存中缓存,输出到应用端,在sql server 内存初探中有介绍。在明白了sqlserver内存原理后,就能更好的分析I/O开销,从而提升数据库的整体性能。 在生产环境下数据库的sqlserver服务启动后一个星期,就可以通过dmv来分析优化。在I/O分析这块可以从物理I/O和内存I/O二方面来分析, 重点分...

2019-08-06 15:49:30 775

转载 sqlserver性能调优之资源等待之网络I/O

一.概述  与网络I/O相关的等待的主要是ASYNC_NETWORK_IO,是指当sql server返回数据结果集给客户端的时候,会先将结果集填充到输出缓存里(ouput cache),同时网络层会开始将输出缓存里的数据打包,由客户端接收。如果客户端接收数据包慢,sql server没有地方存放新数据结果时,这时任务进入ASYNC_NETWORK_IO等待状态。  1. 从实例级别查看...

2019-08-06 15:47:12 955

转载 sql server性能调优之死锁排查

一.概述 记得以前客户在使用软件时,有偶发出现死锁问题,因为发生的时间不确定,不好做问题的重现,当时解决问题有点棘手了。现总结下查看死锁的常用二种方式。1.1 第一种是图形化监听: sqlserver -->工具--> sql server profiler 登录后在跟踪属性中选择如下图: 监听到的死锁图形如下图 ...

2019-08-06 15:32:50 1022

转载 sqlserver性能调优之SQL语句阻塞查询

在生产环境下,有时公司客服反映网页半天打不到,除了在浏览器按F12的Network响应来排查,确定web服务器无故障后。就需要检查数据库是否有出现阻塞当时数据库的生产环境中主表数据量超过2000w,子表数据量超过1亿,且更新和新增频繁。再加上做了同步镜像,很消耗资源。这时就要新建一个会话,大概需要了解以下几点:1.当前活动会话量有多少?2.会话运行时间?3.会话之间有没有阻塞...

2019-08-06 15:29:21 1590

转载 sqlserver性能调优之CPU消耗最大资源分析

一. 概述  这次介绍CPU的开销及维护, 在调优方面是可以从多个维度去发现问题如I/O,CPU, 内存,锁等,不管从哪个维度去解决,都能达到调优的效果,因为sql server系统作为一个整体性,它都是紧密相连的,例如:解决了sql语句中I/O开销较多的问题,那对应的CPU开销也会减少,反之解决了CPU开销最多的,那对应I/O开销也会减少。解决I/O开销后CPU耗时也减少,是因为CPU下的...

2019-08-06 15:25:50 1208

转载 sqlserver性能调优之当前用户请求分析

一. 概述  在生产数据库运行期间,有时我们需要查看当前用户会话状态或者是说数据库当前是否运行良好, 应用的场景比如:当运行的应用系统响应突然变慢时需要分析数据库的、或想分析当前的数据库是否繁忙,是否有长时间的等待, 又或者执行一个sql的回滚状态查看,想手动kill掉一个会话时 等等。都需要从当前的会话状态去分析。  这篇主要介绍sys.sysprocesses 函数,这里面包含了当前用...

2019-08-06 15:19:03 264

转载 dnSpy.net 逆向神器

本章将介绍一个调试、逆向.net的神器 dnSpy,将给出一个简单的密码验证示例程序,并完整地介绍如何逆向安装可直接使用安装包安装 下载地址示例程序编写测试程序 License Test.exe,如果从控制台输出 123456,则显示密码正确,否则密码错误using System;using System.Collections.Generic;using System....

2019-07-29 14:37:08 926

原创 C#爬虫抓取数据并使用NOPI保存excel

string url = "http://49.35.23.21/project/Ashx/GetDInfo.ashx"; var client = new HttpClient(); client.DefaultRequestHeaders.Add("Accept", "application/json, text/javascript, */*...

2019-05-19 17:46:09 632

原创 HttpClient 调用WebAPI,Post传参(爬虫)

public void Post() { //方法一,传json参数 var d = new { username = "zhangsann", password = "123456" }; var dat...

2019-05-19 14:50:40 1565

转载 VS2017 Xamarin.Android 部署

1、先从网上下载VS2017 企业版各个版本的下载地址:https://www.visualstudio.com/zh-hans/downloads/如果是学习,建议下载企业版(Visual Studio Enterprise 2017),激活码可在网上一搜就有。【特别提醒1:目前VS2017基本可以被公认是最强大的编译软件,但因此造成的诟病是:太大了,占用内存大,占用硬盘空间大。所以...

2019-05-18 23:38:34 2049

转载 [开源]OSharpNS - .net core 快速开发框架 - 快速开始

什么是OSharpOSharpNS全称OSharp Framework with .NetStandard2.0,是一个基于.NetStandard2.0开发的一个.NetCore快速开发框架。这个框架使用最新稳定版的.NetCore SDK(当前是.NET Core 2.2),对 AspNetCore 的配置、依赖注入、日志、缓存、实体框架、Mvc(WebApi)、身份认证、权限授权等模块进...

2019-05-06 14:45:11 3354

转载 使用高性能Pipelines构建.NET通讯程序

原文地址:https://www.cnblogs.com/podolski/p/10807204.html.NET Standard支持一组新的API,System.Span, System.Memory,还有System.IO.Pipelines。这几个新的API极大了提升了.NET程序的效能,将来.NET很多基础API都会使用它们进行重写。Pipelines旨在解决.NET编写Sock...

2019-05-05 17:17:56 643

转载 Docker入门(windows安装)

Docker入门(安装)Docker是一种轻量级容器技术,实际中直接运行在当前操作系统(Linux)上,而不是虚拟机中。PaaS提供了存储,数据库,网络,负载均衡,自动扩展等功能,Docker云平台就是来实现以上功能及不同程序之间的隔离。Windows下安装官网介绍:https://docs.docker.com/docker-for-windows/install/一、进入Dock...

2019-05-01 16:19:59 245

转载 Docker在Windows下的安装以及Hello World

本文主要介绍Docker在Windows下的安装。关于Docker的介绍和文档在其官网中可以找到:http://www.docker.com。安装环境:Windows7。  Docker引擎使用了一个定制的Linux内核,所以要在Windows下运行Docker我们需要用到一个轻量级的虚拟机(vm),我们使用Windows Docker客户端以控制Docker引擎,来创建,运行和管理我们的D...

2019-05-01 15:21:22 179

空空如也

空空如也

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

TA关注的人

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