.Net
文章平均质量分 50
星辉Johnson
这个作者很懒,什么都没留下…
展开
-
C# 3Des ECB加密方式
【代码】C# 3Des ECB加密方式。原创 2023-02-14 10:10:09 · 494 阅读 · 0 评论 -
dapper 批量删除、新增、修改说明
dapper 批量删除、新增、修改说明转载 2022-07-29 11:52:55 · 1663 阅读 · 0 评论 -
如何友好的处理 WebApi 中抛出的错误
微软的 ASP.NET Web API 是一个轻量级的web框架,可用来构建基于 http 无状态的rest服务,异常是一种运行时错误,异常处理是一种处理运行时错误的技术,每一个开发者都应该知道如何处理 Web API 中的异常,并且在 Action 中使用合适的错误码和错误信息进行包装。WebAPI 中的 HttpResponseException你可以在 Action 中使用 HttpResponseException 来包装指定的 HttpCode 和 HttpMessage,如下例子...转载 2021-03-04 09:46:13 · 648 阅读 · 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 · 872 阅读 · 0 评论 -
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 · 713 阅读 · 0 评论 -
如何将 Dapper 换成 SqlSugar ORM
Dapper 介绍Dapper是一个轻量级开源的ORM类,他是通过扩展IDbConnection提供一些有用的扩展方法去查询您的数据库,所以Ado.Net支持的数据库,他都可以支持。在速度方面具有“King of Micro ORM”的头衔,几乎与使用原始的ADO.NET数据读取器一样快。很多人第一次使用了他之后,就深深的喜欢上他了。SqlSugar 介绍SqlSugar 同样轻量级小巧,功能方面更加全面,需求都是来自1000多开发人员的真实项目需求,在这些需求上进行完美的设计,经过..转载 2020-12-15 16:55:01 · 726 阅读 · 0 评论 -
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 · 714 阅读 · 0 评论 -
开源分布式Job系统,调度与业务分离-如何创建一个计划HttpJob任务
项目介绍:Hangfire:是一个开源的job调度系统,支持分布式JOB!!Hangfire.HttpJob是我针对Hangfire开发的一个组件,该组件和Hangfire本身是独立的。可以独立更新Hangfire版本不影响!该组件已被Hangfire官方采纳,在Hangfire官网可以查到:开源地址:https://github.com/yuzd/Hangfire...转载 2020-01-03 16:40:41 · 787 阅读 · 0 评论 -
dump解析入门-用VS解析dump文件进行排障
突然有一天部署在服务器的一个应用挂掉了,没办法只能进入服务器打开【事件查看器】查看下,好不容易找到了打开后一脸懵逼事件查看器查到的内容根本对我们排障没有任何作用。在这个时候如果有对应的dump文件就能派上用场了,只要有dump文件就能查到应用挂掉那刻的一手情报,可能有人认为分析dump文件是非常难的事情,但是最近不断有新的dump分析工具出来,例如...转载 2020-01-03 16:37:30 · 464 阅读 · 0 评论 -
IIS配置HTTPS
1,新建网站,选中类型为https,然后更改SSL证书为你配置的SSL证书,对于SSL证书的配置是这样的点开第二步,然后点击创建自签名证书确定以后点开网站看到有个SSL,双击进去,再选中要求SSL选中此步就是为了防止浏览器认为你的网站不安全阻止网站的访问,到此,证书配置完成然后发现IIS无法绑定域名,因为IIS7默认不支持HTTPS绑定域名,此时需要自己手动去设置首先打开C:\Windows\s...转载 2018-06-27 13:46:36 · 40298 阅读 · 1 评论 -
.net core开发Windows服务
查看asp.net core的Windows宿主的源代码Microsoft.AspNetCore.Hosting.WindowsServices,发现最终给宿主是继承自System.ServiceProcess.ServiceBase,同时实现了OnStart以及OnStop等一些列方法.我们知道dotnet framework 中的service基类也是System.Service...原创 2018-10-24 09:55:00 · 3464 阅读 · 3 评论 -
C# 对象、文件与二进制串(byte数组)之间的转换
1.关于本文在使用C#下的TCP(类TcpClient)、UDP(类UdpClient)协议传输信息时,都需要将信息转换为byte类型的数组进行发送。本文实现了两种object与byte数组的转换和一种文件与byte数组转换的方式。基础类型的数据,可以用BitConverter类中的函数进行转换。2.object与byte[]的相互转换:使用IFormatter的Serialize和Des...转载 2018-10-17 18:58:23 · 6099 阅读 · 0 评论 -
Session共享By Redis
对于多WEB的环境现在已经是必须的了,很难想像一台WEB服务器面对百万并发的响应,所以,我们需要多台WEB服务器集群合作,来缓解这种高并发,高吞吐的场景,而对于多WEB的场景又会有个问题出现,即session存储的问题,如一个用户登陆后,把一个状态信息存储到当前WEB服务器的session里,而你请求其它页面时,很可能就被路由到另一台服务器了,这时,session也就丢了,而对于这种情况,有人把r...原创 2018-10-22 14:54:38 · 243 阅读 · 0 评论 -
C#依赖注入
一、什么是依赖注入依赖注入的正式定义:依赖注入(Dependency Injection),是这样一个过程:由于某客户类只依赖于服务类的一个接口,而不依赖于具体服务类,所以客户类只定义一个注入点。在程序运行过程中,客户类不直接实例化具体服务类实例,而是客户类的运行上下文环境或专门组件负责实例化服务类,然后将其注入到客户类中,保证客户类的正常运行。二、依赖注入的类别1.Setter注...转载 2018-10-19 14:23:44 · 3759 阅读 · 1 评论 -
sqlserver用bulkcopy批量更新
代码如下: DataTable dt = new DataTable("Table"); dt = list.ToTable(); //分布式确保临时表名不重复 string TableName = GetBillNo("#TmpTable" + DateTime.N...原创 2018-10-15 17:23:39 · 3152 阅读 · 1 评论 -
ASP.NET压缩输出的HTML内容
新建一个基类,继承自System.Web.UI.Page,代码如下:using System.IO; using System.Text.RegularExpressions; using System.Web.UI; namespace Web.Demo { public class BasePage : Page { protected...原创 2018-10-15 11:07:57 · 754 阅读 · 0 评论 -
C#反射讲解实例
需要反射的类代码如下:namespace ConsoleBll{ public class StockBLL { public void Run1() { Console.WriteLine("ok"); } public void Run(StockParam param) ...原创 2018-10-14 16:00:02 · 425 阅读 · 0 评论 -
Thrift.net介绍和使用
一、 什么是 RPCRestful 采用 Http 进行通讯,优点是开放、标准、简单、兼容性升级容易;缺点是性能略低。在 QPS 高或者对响应时间要求苛刻的服务上,可以用 RPC(Remote Procedure Call),RPC 由于采用二进制传输、TCP 通讯,所以通常性能更好。.Net Core 下的 RPC(远程方法调用)框架有 gRPC、Thrift 等,都支持主流的编程语...翻译 2018-09-21 15:35:51 · 1420 阅读 · 0 评论 -
bulkcopy实现批量插入与更新
public static void UpdateData<T>(List<T> list, string TabelName) { DataTable dt = new DataTable("Table"); clsBulkOperation blk = new clsBulkOperation(); ...翻译 2018-09-21 14:45:53 · 3137 阅读 · 0 评论 -
surging 微服务引擎 1.0 正式发布
surging 是一个分布式微服务引擎,提供高性能RPC远程服务调用,服务引擎支持http、TCP、WS、Mqtt协议,采用Zookeeper、Consul作为surging服务的注册中心,集成了哈希一致性,随机,轮询、压力最小优先作为负载均衡的算法,底层协议集成采用的组件是dotnetty、websocket-sharp、Kestrel。支持通过docker hub 部署服务引擎,也可以通过nu...转载 2019-01-02 20:31:34 · 294 阅读 · 0 评论 -
Jenkins部署.net自动化构建
一、初识Jenkins由于之前亦没有相关知识的积累,因此也是对如何实现也是一头雾水。于是只能找度娘,关键字"自动化发布"。搜索到很多工具和方法,但都是以Java平台居多,.net平台相关资料不多。其中以Jenkins介绍较多,微软也提供一套自动化部署的方式,也有一些其他持续集成工具可以实现自动化的发布,但最终还是选择了Jenkins。主要有以下几个原因:代码开源、插件丰富完善、系统...转载 2019-03-13 15:33:44 · 9620 阅读 · 1 评论 -
使用高性能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 · 717 阅读 · 0 评论 -
Session如何保存在StateServer服务中
session保存在专门的StateServer中,该种方式,性能损失比sql略好。比inproc据说有10%-15%的性能损失。使用StateServer 服务器如下: 1、初始化StateServer服务器 启动ASP.NET 状态服务【aspnet_state】,该服务默认是手动启动的,可以通过修改注册表,设置为自动启动并允许远程连接。修改方原创 2017-01-02 16:18:53 · 936 阅读 · 0 评论 -
Asp.Net正在中止线程引发的问题
背景:Asp.Net做的一个同步程序,同步的方法是通过JQuery的Ajax调用,同步过程大概要执行20多分钟,程序部署到服务器后执行一段时间后就弹出执行失败的对话框,日志记录的错误信息是“正在中止线程”。查错过程:1、根据“AspNet 正在中止线程“进行搜索,得到的结果基本都是跟”Response.End“有关的,但我的代码中没有Response.End,所以基本可以排除;2、...转载 2019-09-25 17:07:50 · 335 阅读 · 0 评论 -
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 · 1195 阅读 · 0 评论 -
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 · 1175 阅读 · 0 评论 -
ASP.NET 大文件下载的实现思路及代码
当我们的网站需要支持下载大文件时,如果不做控制可能会导致用户在访问下载页面时发生无响应,使得浏览器崩溃。可以参考如下代码来避免这个问题using System;namespace WebApplication1 { public partial class DownloadFile : System.Web.UI.Page { protec...2015-12-19 11:07:36 · 419 阅读 · 0 评论 -
dnSpy.net 逆向神器
本章将介绍一个调试、逆向.net的神器 dnSpy,将给出一个简单的密码验证示例程序,并完整地介绍如何逆向安装可直接使用安装包安装 下载地址示例程序编写测试程序 License Test.exe,如果从控制台输出 123456,则显示密码正确,否则密码错误using System;using System.Collections.Generic;using System....转载 2019-07-29 14:37:08 · 983 阅读 · 0 评论 -
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 · 671 阅读 · 0 评论 -
HttpClient 调用WebAPI,Post传参(爬虫)
public void Post() { //方法一,传json参数 var d = new { username = "zhangsann", password = "123456" }; var dat...原创 2019-05-19 14:50:40 · 1616 阅读 · 0 评论 -
VS2017 Xamarin.Android 部署
1、先从网上下载VS2017 企业版各个版本的下载地址:https://www.visualstudio.com/zh-hans/downloads/如果是学习,建议下载企业版(Visual Studio Enterprise 2017),激活码可在网上一搜就有。【特别提醒1:目前VS2017基本可以被公认是最强大的编译软件,但因此造成的诟病是:太大了,占用内存大,占用硬盘空间大。所以...转载 2019-05-18 23:38:34 · 2101 阅读 · 0 评论 -
[开源]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 · 3438 阅读 · 0 评论 -
搭建公司团队内部的NuGetServer
一. NuGetServer 搭建和配置1. 创建一个 “NuGetServer” 解决方案,然后新增 “NuGetServer” Asp.Net 网站。结构如下图2. 在 “NuGetServer” 项目上,右键选择 “管理NuGet程序包” ,选择 “联机” ,右上角搜索框中输入“NuGet.Server” Enter,在搜索结果中选择 NuGet.Server 项,进行安装,如图如果安装最...原创 2018-06-15 14:34:53 · 1238 阅读 · 0 评论 -
ASP.NET MVC:多语言的三种技术处理策略
背景本文介绍了多语言的三种技术处理策略,每种策略对应一种场景,这三种场景是:多语言资源信息只被.NET使用。多语言资源信息只被Javascript使用。多语言资源信息同时被.NET和Javascript使用。下文我们就一个一个场景的分析。第一种场景:多语言资源信息只被.NET使用这种场景的技术处理最简单,可以充分利用VisualStudio提供的资源编辑器及资源文件。实现步骤1、定义资源文件。2、...转载 2018-06-08 15:53:23 · 2540 阅读 · 0 评论 -
C#MD5加密算法的实例
using System;using System.Collections.Generic;using System.Text;using System.Security.Cryptography;namespace md5{ class Program { static void Main(string[] args)原创 2017-05-04 11:15:49 · 10797 阅读 · 0 评论 -
Net导入导出EXCEL单元格强制换行符转换问题
导出强制换行符转换:private void OutPutExcel(DataList dl){dl.Visible = true;Response.Clear();Response.Buffer = true;Response.Charset = "GB2312";Response.AppendHeader("Content-Disposition", "导出文档")原创 2017-05-03 09:54:30 · 5101 阅读 · 0 评论 -
Xml与string互转
/// /// 将XmlDocument转化为string /// /// /// public string ConvertXmlToString(XmlDocument xmlDoc) { MemoryStream stream = new原创 2017-04-20 19:55:15 · 382 阅读 · 0 评论 -
从客户端(&)中检测到有潜在危险的Request.Path值解决方案
出这个问题基本上是在转址字符串中有非法字符“ 方案1: 如果仅仅只是转换页面,传参时出现的问题,可对数据加密:绑定数据传值时加密 解密:HttpUtility.UrlDecode(request.QueryString["userid"].Tostrin 方案2: 如果是对数据库数据进行操作时出现此问题,第一、可以在存入数据原创 2017-03-21 10:37:01 · 9217 阅读 · 0 评论 -
WebApi 接口参数传参详解
下面通过几个示例看看我们的get请求参数传递。get请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),而post请求则是放在http协议包的包体中。1.基础类型参数[HttpPost]public bool SaveData([FromBody]string NAME){ return true;}$.ajax({ type:原创 2017-02-20 17:50:39 · 2421 阅读 · 0 评论 -
remoting 突然出现 服务器遇到内部错误。有关更多信息,请关闭服务器的 .config 文件中的 customErrors。
在使用C#的Remoting技术开发软件的时候,如果服务端与客户端都在同一台电脑上,客户端能够成功获取服务端的错误。但如果服务端与客户端在二台电脑上的时候,通常客户端获取服务端内部错误的时候,只是提示:服务器遇到内部错误 请打开服务器的 .config 文件中的 customErrors。这样笼统的错误提示,对于客户端调试分析错误原因,显然没有什么帮助。为了获取服务端的错误原因,按原创 2017-02-28 14:39:43 · 4993 阅读 · 1 评论