
C#与asp.net
文章平均质量分 70
海蓝树
做个有思想的“猿”
展开
-
netcore项目在Centos部署:nohup和supervisor方式
在Centos上部署netcore应用程序有两种常用方式:nohup和supervisord,这里简单演示一下这两种部署方式。转载 2022-12-25 16:51:57 · 695 阅读 · 0 评论 -
C#高级--加密解密详解
https://blog.youkuaiyun.com/liyou123456789/article/details/120609269转载 2022-07-28 16:46:26 · 1385 阅读 · 0 评论 -
C#反射将DataTable转换为实体,将DataRow转换为对象实体
C#反射将DataTable转换为实体,将DataRow转换为对象实体转载 2022-06-11 10:46:22 · 2517 阅读 · 1 评论 -
C#自定义字符串加密解密方法类
转载自C#自定义字符串加密解密方法类_longHARDEN的博客-优快云博客_c# 字符串加密定义 DEC.CS 类文件using System.Security.Cryptography;using System.Text;static string encryptKey = "abcd";//字符串加密密钥(注意:密钥只能是4位) private string Encrypt(string str) {//加密字符串 tr.转载 2022-04-30 19:26:30 · 1107 阅读 · 0 评论 -
ASP.NET获取真正的客户端IP地址的6种方法
在ASP中使用Request.ServerVariables("REMOTE_ADDR") 来取得客户端的IP地址,但如果客户端是使用代理服务器来访问,那取到的就是代理服务器的IP地址,而不是真正的客户端IP地址。要想透过代理服务器取得客户端的真实IP地址,就要使用 Request.ServerVariables("HTTP_X_FORWARDED_FOR") 来读取。不过要注意的事,并不是每个代理服务器都能用 Request.ServerVariables("HTTP_X_FORWA...转载 2021-12-06 09:32:17 · 2964 阅读 · 0 评论 -
c# Http请求之HttpClient
利用HttpClient进行Http请求,基于此,简单地封装了下:using System;using System.Collections.Generic;using System.Collections.Specialized;using System.IO;using System.Linq;using System.Net;using System.Net.Http;using System.Text;namespace ConsoleApplication2{转载 2021-10-23 19:53:42 · 1666 阅读 · 0 评论 -
使用HttpClient循环请求时出现“发生请求是出错,发生一个或多个错误”异常
问题:使用httpclient请求接口的时候,批量请求接口,每次请求到第47个的时候,就报了异常:“发生请求是出错,发生一个或多个错误”。然后stacktrace提示: 在 System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)在 System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)转载 2021-10-23 19:13:47 · 3747 阅读 · 0 评论 -
C# 使用CancellationTokenSource取消多线程
引用地址:https://blog.youkuaiyun.com/aojiancc2/article/details/84063515如下:我们点击一个按钮开启线程,然后点击取消按钮取消该线程的执行 CancellationTokenSource cts ; /// <summary> /// 开启线程 /// </summary> private void button1_Cli...转载 2021-04-13 16:05:24 · 884 阅读 · 0 评论 -
c#多线程停止
public partial class Form1 : Form { public Form1() { InitializeComponent(); CheckForIllegalCrossThreadCalls = false; } public void beginpa() { WebClient wc = new WebClie...原创 2021-04-13 16:01:12 · 1060 阅读 · 0 评论 -
Asp.Net Core + SignalR 实现实时通信
一、搭建项目1、创建一个ASP.NET Core MVC 项目2、nuget 下载和安装 MicroSoft.AspNetCore.SignalRvs提示版本冲突这时我们选择低版本即可二、SignalR配置1、在model中创建一个类MyHub 代码如下2、在Startup中注入SignalR并在Configure中配置路由3、右键项目名=>添加=>添加客户端库 对于“提供程序”选择...转载 2021-04-10 17:32:24 · 1153 阅读 · 0 评论 -
Liunx服务器离线部署.NET Core 3.1项目
一、离线部署.Net Core3.1项目由于项目都是离线安装,因此需要做一切的离线部署;其实无论是项目离线还是非离线,离线部署提高了每次Build的时间,提高了工作效率。1、方案一:.net core 部署再docker上需要build的十分痛苦需要访问微软的地址,此文完全使用docker镜像的方式直接离线部署。(下文主要讲解)2、方案二:服务直接运行在Liunx服务器上(相对简单,文章最后也简单介绍下)具体操作如下~~~~二、.NET Core3.1环境下载安装分别需要安装.NET Co转载 2021-04-10 14:53:57 · 575 阅读 · 1 评论 -
WPF布局之WrapPanel与StackPanel
转载:https://www.cnblogs.com/Im-Victor/p/10565030.html三. WrapPanel WrapPanel布局面板将各个控件从左至右按照行或列的顺序罗列,当长度或高度不够是就会自动调整进行换行,后续排序按照从上至下或从右至左的顺序进行。Orientation——根据内容自动换行。当 Horizontal选项看上去类似于Windows资源管理器的缩略图视图:元素是从左向右排列的,然后自上至下自动换行。Vertical 选项看上去类似于Windows资源..转载 2021-01-10 17:08:53 · 1307 阅读 · 0 评论 -
ASP.NET WebApi OAuth2身份认证,搭建服务端(一)
原文:https://www.cnblogs.com/richieyang/p/4918819.html一、什么是OAuthOAuth是一个关于授权(Authorization)的开放网络标准,目前的版本是2.0版。注意是Authorization(授权),而不是Authentication(认证)。用来做Authentication(认证)的标准叫做openid connect,我们将在以后的文章中进行介绍。二、名词定义理解OAuth中的专业术语能够帮助你理解其流程模式,OAuth中常用的转载 2021-01-07 09:13:38 · 872 阅读 · 0 评论 -
ASP.NET WebApi OAuth2身份认证,搭建服务端(二)
转载地址:https://www.cnblogs.com/richieyang/p/5002526.html在上一篇”使用OAuth打造webapi认证服务供自己的客户端使用“的文章中我们实现了一个采用了OAuth流程3-密码模式(resource owner password credentials)的WebApi服务端。今天我们来实现一个js+html版本的客户端。一、angular客户端angular版本的客户端代码来自于http://bitoftech.net/2014/06/01/to转载 2021-01-07 09:10:27 · 299 阅读 · 0 评论 -
.net core 部署到windows服务上的方法
前言Net core 项目部门在Windows有很多种方式,大致有以下几种,dotnet 命令, iis(windowshosts), 一些开源的应用容器(docker ) 基于一些exe 程序,微软官网上案例 Nssm 搭建windows服务其中优劣对比在这不进行累述。我今天是把它搭建到windows服务上的,这种方式对于我们现有dotnet来说相对美观(一个黑框框,一个看不到),电脑重启可以自动重启。1.实现1.1.下载nssm官网http://www.nssm.cc/,下转载 2020-12-02 11:39:51 · 1047 阅读 · 0 评论 -
Windows Skywalking+Elasticsearch 部署
使用环境.net core 3.1 Skywalking 6.5.0官方下载地址::http://skywalking.apache.org/downloads/链接:https://pan.baidu.com/s/1R5C4FPlfx-yB4_cmvJoEIQ提取码:pqnoelasticsearch 6.4.0官方下载地址:https://www.elastic.co/cn/downloads/elasticsearch链接:https://pan.baidu.com/s/18转载 2020-11-28 21:17:44 · 413 阅读 · 1 评论 -
asp.net core拥抱Skywalking APM
前言小伙伴们大家好,日常系统开发和维护中,大家都用什么观测自己的系统呢?起初项目不太复杂,zabbix日常监控足够使用,随着业务模块越来越多,zabbix这种仅仅针对服务器和服务级别的监控,就有点力不从心了,有些问题只能通过一堆堆的日志中去排查,后来上了ELK,日志搜集,排查变得容易了起来。但随着微服务架构越来越流行,系统的不断拆分,服务和服务之间的调用关系,性能如何,哪里出了问题等等诸如此类的问题,单纯的从日志分析,就又变得十分困难。这个时候,APM就该登场了。那么啥是APM?APM 全称是转载 2020-11-28 20:15:07 · 619 阅读 · 0 评论 -
利用Skywalking-netcore监控你的应用性能
SkywalkingSkyWalking开源项目由吴晟于2015年创建,同年10月在GitHub上作为个人项目开源。SkyWalking项目的核心目标,是针对微服务、Cloud Native、容器化架构,提供应用性能监控(APM)和分布式调用链追踪能力。2017年11月,SkyWalking社区正式决定,寻求加入Apache基金会,希望能使项目成为更为开放、全球化和强大的APM开源产品,并加强来自社区的合作和交流。最终实现构建一款功能强大、简单易用的开源APM产品。2017年12月8日,Ap转载 2020-11-28 19:59:08 · 1141 阅读 · 0 评论 -
.NET定位CPU使用率过高问题
当一个.net应用在生产环境CPU突然居高不下,如何快速准确的定位问题所在,并且对实时业务影响最小化?如何不抓Dump也不用live debug就可以知道你的应用在做什么?如何确认你的应用是由于哪个线程的执行造成的CPU升高,该线程正在执行什么代码?分析:CPU升高的原因有很多,1、有时候应用的负载大了,CPU自然会受业务请求的增加和增高;2、有时候因为GC回收使用了过高的CPU资源;3、有时候是某个线程执行的代码在某种情况下陷入了死循环;4、有时候是因为锁争用太激烈,某资源上的锁释放...转载 2020-11-27 22:02:05 · 1064 阅读 · 0 评论 -
.Net Core实现记录接口执行时间的中间件
项目中有时接口访问时间过长,但是通过浏览器F12查看时,接口访问时间很正常,所以就很奇怪,于是写一个中间件,记录所有接口访问时间的中间件。一、中间件 中间件是应用程序处理管道中的组件,用来处理请求和响应。如下图,请求来之后,第一个中间件处理,处理完后调用下一个中间件(当然也可以选择不调用下一个中间件),这样形成一个请求处理管道。每一个中间件通过一个名为RequestDelegate的委托调用下一个中间件。当所有的中间件处理完请求后,再依次返回Response。 微软提供的中间件有:Au原创 2020-11-27 21:49:41 · 1564 阅读 · 0 评论 -
.NetCore 发布到 Centos docker
【搭建环境】 系统:CentOS 7.0 容器:Docker 1.13.1 .Net Core 版本:.NET Core 2.2 工具:putty、filezilla 等.一、安装 docker1. 安装 docker yum install docker ps: 更新 docker 用 yum update 2. 启动 docker 服务 systemctl start docker.service ...转载 2020-10-18 18:13:57 · 214 阅读 · 0 评论 -
asp.netcore+jenkins+docker+svn+centos7.2每天凌晨获取最新代码打包发布
运行环境:centos7.2服务器或则虚拟机 可以是腾讯云也可以是内网服务器,(如果是内网服务器需要用frp做内网穿透,这样才可以通过外网访问该服务器) svnserver 来托管代码一.安装jenkins运行环境1.查看yum库中的Java安装包2.yum -y list java*3.选择一个适合的版本进行安装我们这里选择的是1.8.0的版本进行演示yum -y install java-1.8.0-openjdk*4.查看jdk是否安装成功java -ver.转载 2020-10-18 09:48:10 · 305 阅读 · 0 评论 -
.NetCore下多个文件流生成压缩文件
原有系统的附件都是保存在服务器上的,占用了大量的磁盘空间,如今要切换到AWS S3上做文件存储管理。文件打包下载之前的做法是,后台将文件服务器上的多个文件打包到一个压缩文件中,存放在服务器,后端接口返回压缩文件地址供前端下载;为此,特写下这篇文章来记录此处是如何根据文件流来制作压缩包的。AWS S3更多存取文件的demo需看官方源码,本文中有下载的实例。需要引用:AWSSDK.Core、AWSSDK.S3,可从NuGet安装;需要引用:System.IO.Compression,可从NuGet安装转载 2020-05-30 11:08:29 · 1960 阅读 · 0 评论 -
WebApiClient的SteeltoeOSS.Discovery扩展
1 背景从园子里看到一些朋友在某些项目开发中,选择的架构是spring cloud搭建底层微服务框架,dotnet core来编写业务逻辑,SteeltoeOSS.Discovery是dotnet和spingcloud的桥梁,为dotnet提供服务注册和服务发现相关功能。在阅读朋友们文章的时候,我发现相关代码里的一些HttpClient相关问题,同时对dotnet寄居于spingcloud下由...转载 2020-03-30 11:27:25 · 334 阅读 · 0 评论 -
深入理解.NET的垃圾回收(GC)机制
一、什么是GC GC如其名,就是垃圾收集,当然这里仅就内存而言。Garbage Collector(垃圾收集器,在不至于混淆的情况下也成为GC)以应用程序的root为基础,遍历应用程序在Heap上动态分配的所有对...转载 2020-03-19 11:02:19 · 1912 阅读 · 0 评论 -
NOPI HSSFCell Hssfworkbook 设置单元格格式 setdataformat
展开HSSFWorkbook demoWorkBook = new HSSFWorkbook(); HSSFSheet demoSheet = demoWorkBook.createSheet("The World's 500 Enterprises"); HSSFCell cell = demoSheet.createRow(0).createCell(0);1.设置单...转载 2020-02-19 10:51:23 · 1553 阅读 · 1 评论 -
C#方法名前的方括号
<br />1、序列化:<br />[Serializable]<br />public void 方法名(){...}<br /><br />2、WebServices方法:<br />[WebMethod]<br />public void 方法名(){...}<br /><br />3、Ajax(AjaxPro)方法:<br />[AjaxPro.AjaxMethod]<br />public void 方法名(){...}<br /><br />4、其他还有很多,如Duwamish7里的:<br /原创 2010-09-16 13:21:00 · 4127 阅读 · 0 评论 -
C# 特性(Attribute)入门教程
<br />绪论<br /><br /> 特性(Attributes)是一种崭新的声明性信息。我们不仅可以通过特性来定义设计层面的信息(例如help file, URL for documentation)以及运行时(run-time)信息(例如使XML与class相联系),而且我们还可以利用特性建立自描述(self-describing)组件。在这篇教程中,我们将会看到如何建立和添加特性到各种程序实体以及如何在运行时环境中获取特性信息。 <br /><br />定义<br /><br /> 正如MSD原创 2010-09-17 15:53:00 · 776 阅读 · 0 评论 -
C#类特性和属性特性
using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Reflection; namespace ConsoleApplication6 { /// /// AttributeTargets.C原创 2010-09-17 10:50:00 · 2092 阅读 · 0 评论 -
C#虚方法virtual详解
在C++、Java等众多OOP语言里都可以看到virtual的身影,而C#作为一个完全面向对象的语言当然也不例外。虚拟函数从C#的程序编译的角度来看,它和其它一般的函数有什么区别呢?一般函数在编译时就静态地编译到了执行文件中,其相对地址在程序运行期间是不发生变化的,也就是写死了的!而虚函数在编译期间是不被静态编译的,它的相对地址是不确定的,它会根据运行时期对象实例来动态判断要调用的函数,其中那个申明时定义的类叫申明类,那个执行时实例化的类叫实例类。如:飞禽 bird = new 麻雀();那么飞禽就是申明类原创 2010-09-17 21:18:00 · 664 阅读 · 0 评论 -
无限级分类(使用TreeView显示)
自己写的一个无限级分类,完成了添加和删除,更新有空再写吧数据库脚本view plaincopy to clipboardprint?IF EXISTS(SELECT 1 FROM sys.databases WHERE NAME='Demo') DROP DATABASE [Demo] GO CREATE DATABASE [Demo] GO USE [Demo] GO IF EXISTS(SELECT 1 FROM sys.all_objects WHERE NAME='U原创 2010-09-20 17:53:00 · 691 阅读 · 0 评论 -
ASP.NET导入Excel到数据库(SQL)
<br /> 在我们开发各类应用型系统,经常会遇到导入导出Excel,为什么会用到他呢?<br />企业或者单位在从无信息化到信息化的一个转变过程。<br /> 在没有信息化的企业或单位之前,一般都采用Excel来记录相应的数据,做统计计算的作用,那么当企业或单位实施信息化之后必然会将原有数据导入到系统中去存储与分析。那么作为程序员就必然面临一个将数据导入数据库的功能,下面针对此类情况作如下概述。<br />在ASP.NET的B/S架构下,去导入Excel。<br />举例来说:<br />我原创 2010-09-21 15:17:00 · 1344 阅读 · 0 评论 -
动态创建TextBox
protected void Page_Load(object sender, EventArgs e) { Table1.CellPadding = 0; Table1.CellSpacing = 0; Table1.Width = Unit.Percentage(50); TableRow trHead = new TableRow(); TableCell tcHeadFoodName = new TableCell();原创 2010-09-28 09:11:00 · 712 阅读 · 0 评论 -
C#语言操纵数据库事务
<br /> 什么是C#数据库事务<br /> C#数据库事务是指作为单个逻辑工作单元执行的一系列操作。<br /> 设想网上购物的一次交易,其付款过程至少包括以下几步数据库操作:<br /> ◆更新客户所购商品的库存信息<br /> ◆保存客户付款信息--可能包括与银行系统的交互<br /> ◆生成订单并且保存到数据库中<br /> ◆更新用户相关信息,例如购物数量等等<br /> 正常的情况下,这些操作将顺利进行,最终交易成功,与交易相关的所有数据库信息也成功地更新。但是,如果在这一系列过原创 2010-10-08 15:21:00 · 505 阅读 · 0 评论 -
ASP.NET与数据库连接池
ASP.NET连接池救生员防止可淹没应用程序的池溢出大多数 ADO.NET 数据提供程序使用连接池,以提高围绕 Microsoft 断开连接的 .NET 结构构建的应用程序的性能。应用程序首先打开一个连接(或从连接池获得一个连接句柄),接着运行一个或多个查询,然后处理行集,最后将连接释放回连接池。如果没有连接池,这些应用程序将花费许多额外时间来打开和关闭连接。当您使用 ADO.NET 连接池来管理基于 Web 的应用程序和客户端/服务器 Web 服务应用程序的连接时,您的客户通常会获得更快的连接和更好的总体原创 2010-10-09 08:56:00 · 1830 阅读 · 0 评论 -
c#事务的使用、示例及注意事项
一、事务的介绍.NET Framework 开发员指南事务是一组组合成逻辑工作单元的操作,虽然系统中可能会出错,但事务将控制和维护事务中每个操作的一致性和完整性。例如,在将资金从一个帐户转移到另一个帐户的银行应用中,一个帐户将一定的金额贷记到一个数据库表中,同时另一个帐户将相同的金额借记到另一个数据库表中。由于计算机可能会因停电、网络中断等而出现故障,因此有可能更新了一个表中的行,但没有更新另一个表中的行。如果数据库支持事务,则可以将数据库操作组成一个事务,以防止因这些事件而使数据库出现不一致。如果事务中的原创 2010-10-08 15:43:00 · 721 阅读 · 0 评论 -
HttpContext.Current.Cache vs. HttpRuntime.Cache
<br /> .NET中Cache有两种调用方式:HttpContext.Current.Cache 和 HttpRuntime.Cache,这两种方式有什么区别呢?我们先看MSDN上的解释:<br /> HttpContext.Current.Cache:为当前 HTTP 请求获取Cache对象。<br /> HttpRuntime.Cache:获取当前应用程序的Cache。<br /><br /> 我们再用.NET Reflector工具看看HttpContext.Cach原创 2010-10-20 11:19:00 · 540 阅读 · 0 评论 -
C#使用WebConfigurationManager类修改Web.config文件
在ASP.NET2.0里不但进一步扩展了配置文件web.config,更为重要的是系统提供了一组API函数,让我们可以以编程的方式从配置文件里提取信息 首先,先看看如果从web.config里提取appSettings里的配置值,示例代码如下:原创 2010-10-28 10:07:00 · 1084 阅读 · 0 评论 -
未能使用提供程序“RsaProtectedConfigurationProvider”进行解密
<br />解决方法是:<br /> 进dos运行:aspnet_regiis -pa "NetFrameworkConfigurationKey" "NT AUTHORITY/NETWORK SERVICE"<br /> 如果运行出错,需要把目录 C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727 放入环境变量path中。<br /> 此时就可以成功访问网站了。<br /> 同样可以通过命令行来实现“RSAProtectedConfigurationProvi原创 2010-11-11 20:45:00 · 1451 阅读 · 0 评论 -
Session莫名丢失的原因及解决办法
<br />Asp.net 默认配置下,Session莫名丢失的原因及解决办法<br />正常操作情况下Session会无故丢失。因为程序是在不停的被操作,排除Session超时的可能。另外,Session超时时间被设定成60分钟,不会这么快就超时的。<br /><br />这次到优快云上搜了一下帖子,发现好多人在讨论这个问题,然后我又google了一下,发现微软网站上也有类似的内容。<br /><br />现在我就把原因和解决办法写出来。<br /><br /><br />原因:<br />由于Asp.原创 2010-11-14 21:22:00 · 1116 阅读 · 0 评论