自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(119)
  • 收藏
  • 关注

转载 关于nginx的一个错误操作记录

今天在弄前后端同步的测试的时候,前端用Nginx代理访问后端接口,由于启动了多次nginx软件,没有将前几次启动的nginx进程关闭,导致在访问后端接口的request被挂起,过了半天也没有结果返回,导致了504 Gateway错误。原因:相同的nginx代理软件不能启动多个进程,否则会出现此种情况。转载于:https://www.cnblogs.com/williamwsj/p/1...

2019-04-30 17:39:00 204

转载 windows下安装ElasticSearch

本次在windows下安装的是ElasticSearch 6.7.0版本。步骤如下:1.Java SE Development Kit 11.0.2工具包,下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html下载后直接安装到C盘,然后在环境变量...

2019-04-04 16:14:00 228

转载 在IIS托管服务中设置Rewrite重定向到webapi接口

最近公司遇到这样一个问题。公司以前使用一个SiteServer CMS开源框架来搭建网站,是以asp.net开发的,并且托管在IIS中。其中出现了一个问题,就是用ajax访问不了这个框架后台的webapi接口,报404错误。当时还以为是模块处理程序的问题,测试了多遍,还是找不出原因。况且公司运营这个网站有个好几年了,里面的文件众多,光容量就有几十个G,不可能说重构就重构吧?自己又有众多业...

2019-03-07 15:49:00 472

转载 asp.net IHttpHandler浅析

在asp.net程序中,我们可以通过配置url的path路径的方式,将某个path路径下的请求交给指定的IHttpHandler去处理,这便是对request请求进行编程。一、新建一个framework类库该类库中包含我们需要的IHttpHandler处理程序。新建一个名为ApiHttpHandler的类,并继承IHttpHandler接口。如下代码:namespac...

2019-01-13 23:15:00 280

转载 asp.net IHttpModule浅析

在asp.net程序中,我们除了使用系统自带的HttpModule模块,还可以自己定义一些自己的HttpModule接口模块。一个asp.net程序可以接收多个HttpModule模块。众所周知,asp.net web有19个管道事件,我们除了可以在Global.asax中实现其中的某些管道事件,还可以通过IHttpModule接口实现这些管道事件。一、定义自己的HttpModu...

2019-01-13 17:14:00 220

转载 vscode 创建.net core项目初体验

微软的virtual studio编辑器那是宇宙第一大编辑器,可惜就是太笨重,遇到性能差一些的电脑设备,简直无法快速的编辑项目。而vs code编辑器轻便易用,想要编辑哪种项目,只需扩展插件就OK,针对性能差一些的电脑设备也可以安装。一、下载vscodevscode的下载地址:https://code.visualstudio.com/download针对不同的...

2018-12-21 14:31:00 433

转载 批量联表更新

在批量联表更新得写法上,mssql和mysql是不一样的。mssql的写法是在from环节关联多表,而mysql是在update环节关联多表。mssql写法:update studenttmpset t.`Name`=s.`Name`from studenttmp t left join student s on s.Id=t.Idwhere s.`Name`...

2018-12-13 16:29:00 114

转载 mysql 关于数据库和数据表的基本操作

-- 备注:-- 1、每一条mysql语句后面都需要加上半角分号-- 2、可以用``符号(1键旁边的那个键)将字段名称引用起来,如`Name`-- 3、mysql在windows下不区分大小写,在linux/unix下会区分大小写,因此在设计数据库和表的时候,应当对字段名称使用小写的形式-- 4、关于 数据表、列字段等的信息都可以在information_schema...

2018-12-07 10:58:00 92

转载 mysql Navicat客户端

Navicat是一个用来操作多种数据库的客户端。可应用操作系统:Windows、macOS、Linux。可应用 Navicat 产品:Navicat for MySQL、Navicat for PostgreSQL、Navicat for Oracle、Navicat for SQL Server、Navicat for SQLite、Navicat for MariaDB、Na...

2018-12-07 10:57:00 129

转载 .net core webapi 使用ValidationAttribute对比同一对象的多个参数

众所周知,在使用DataAnnotations数据验证的时候,特别是针对同一个InputDto的多个属性进行对比的时候,例如起始日期不能大于结束日期,我们需要在Attribute中知道当前InputDto对象的类型和对象值,以便进行两个属性的对比。做到以上操作,我们需要使用ValidationAttribute.IsValid(object value, ValidationCont...

2018-10-25 17:05:00 792

转载 .net core WebApi ManualResetEvent实现并发同步

ManualResetEvent,即手动重置事件,通过信号量来判别当前线程是否应该阻塞或继续执行。使用方式与ManualResetEventSlim差不多,ManualResetEventSlim只是针对ManualResetEvent轻量化的使用。一、在控制台应用程序中测试请看如下代码:private static ManualResetEvent mre = new ...

2018-09-29 11:53:00 180

转载 .net core WebApi Mutex实现并发同步

Mutex,中文译为互斥体,在.net中也是作为一种线程或进程之间的互斥体存在。即在同一时刻,一个共享资源只允许被某一个线程或进程访问,其他线程或进程需要等待(直至获取互斥锁为止)。Mutex的使用方式与Monitor很相似,但绝不相同。Monitor支持线程间并发同步,Mutex不但支持线程也支持进程间并发同步。Mutex有许多需要注意的地方,如果稍不注意,则你会被坑惨!接...

2018-09-28 16:45:00 646

转载 .net core WebApi Monitor实现并发同步

在.net中,还可以使用Monitor实现线程并发同步。Monitor类是纯托管且完全可移植,并且可能会在操作系统资源需求方面更加高效。Monitor的锁对象尽可能使用引用对象,如果是字符串或值对象,会出现引发SynchronizationLockException异常。其实我们日常用的lock锁同步,其原理就是基于Monitor的。即:public static r...

2018-09-27 21:47:00 840

转载 .net Monitor产生SynchronizationLockException异常的原因

有时在使用Monitor进行并发同步编程时,会产生SynchronizationLockException异常,抛出的异常内容是"Object synchronization method was called from an unsynchronized block of code." 。意思是“对象同步方法是从非同步代码块调用的。”出现这个异常的原因是在相同的代码块中,Monit...

2018-09-27 18:30:00 1828

转载 .net 表达式返回值和等号赋值的区别

.net 7.0的新特性中,有一个使用表达式体返回值的操作。请看如下代码:private string _userName="";public string UserName{ get=>_userName; set=>_userName=value;}public TEntity entity=>new TEntity();...

2018-09-27 18:17:00 180

转载 .net core WebApi Interlocked配合ManualResetEventSlim实现并发同步

由于项目有某种需求,在WebApi中,有大量的请求需要操作相同的数据,因此需要用到并发同步机制去操作共享的数据。本次配合使用Interlocked和ManualResetEventSlim来实现并发同步的目的。Interlocked实现了原子性的操作,ManualResetEventSlim提供信号量等待唤醒机制。以上两个关键字,自行找度娘了解。代码如下: ...

2018-09-25 18:34:00 204

转载 .net core 使用log4net日志组件

一个web站点必须要记录日志,否则哪里出错了,完全是黑娃找黑妹,两眼一抹黑。最常用的就是log4net日志组件。我们可以通过扩展加入日志组件。第一步:在项目中NuGetlog4net包,即 Install-Packagelog4net;第二步:添加log4net.config配置文件到项目中;第三步:在项目中新建一个LogExtension类,代码如下所示:p...

2018-09-14 18:21:00 122

转载 .net core Kestrel宿主服务器自定义监听端口配置

在.net core的web程序中,除了可以在项目中硬编码服务器的监听端口外,还可以在外部通过json文件配置。方法如下:第一步:在项目中新建一个名为Hosting.json的文件。当然,文件名可以随便取。然后在其中添加如下内容:{ "server.urls": "http://*:8081"}8081就是我们需要监听的端口。如果需要监听多个端口,...

2018-09-14 10:36:00 464

转载 .net core IIS/Kestrel上传大文件的解决方法

大文件,就是内容的大小超过了一定数量的文件,比如1个GB的文件。站点一般会限制上传文件的大小,如果超过了一定限制,则会报错误。在处理大文件上传的方式上,IIS代理和Kestrel宿主服务器的处理方式是不一样的。一、Kestrel宿主服务器解决方法如下:第一种处理方式:在需要处理大文件的接口中使用RequestSizeLimitAttribute特性。如:...

2018-09-13 17:08:00 751

转载 .net 在同步方法中使用拉姆达表达式执行async/await异步操作

代码如下: static void Main(string[] args) { ((Action)(async () =>{ var data = await HttpHelper.GetOnStringAsync("http://www.baidu.com"); ...

2018-09-12 14:30:00 235

转载 .net core webapi带权限的文件下载方法

众所周知,在webapi中,如果有个接口需要权限,一般会将带权限的字段塞进header中。但是,在带权限的文档下载接口中,无论是用post,还是get方式,我们无法设置header头信息。苦恼呀?别急,接下来我们慢慢拆解并分析步骤。带权限的文档下载接口一般分为3个步骤:1、验证权限;2、查找数据并生成文档或文档流;3、将文档写入response的流中并返回到客户端。第...

2018-09-03 18:29:00 576

转载 .net core json配置相关用法

在.net core中,配置文件差不多都是json文件。我们在开发程序的时候,可以使用系统默认的appsettings.json,可以自定义json配置文件。当json配置文件里面的参数改变时,程序也会自动重新加载。接下来我们需要演示的,就是这些相关的功能。一、使用默认的appsettings.json配置文件1、在配置文件中定义配置类:2、在程序中新建一个Clien...

2018-08-15 16:43:00 184

转载 js 判断某个元素是否隐藏或显示

//判断某个元素是否显示 true:是 false:不是var isVisible = $('#myDiv').is(':visible');//判断某个元素是否隐藏 true:是 false:不是var isHidden = $('#myDiv').is(':hidden');转载于:https://www.cnblogs.com/willi...

2018-08-10 15:30:00 412

转载 sqlserver指定排序字段

在sqlserver中可以指定排序的字段,需要将哪个字段值排在最前面或最后面,都是可以的。见如下代码:SELECT * FROM public_commentorder by case [UserName] when 'zhangsan' then 1 --指定将UserName=zhangsan的字段值排在最前面when 'lisi' then 2...

2018-08-07 11:21:00 270

转载 js 设置img标签的src资源无法找到的替代图片(通过img的属性设置)

在网站的前端页面设计中,要考虑到img图片资源的存在性,如果img的src图片资源不存在或显示不出来,则需要显示默认的图片。如何做到呢?一、监听document的error事件document.addEventListener("error", function (e) { var elem = e.target; if (elem.tagName.toL...

2018-06-04 12:00:00 591

转载 .net core 之Hangfire任务调度

Hangfire可用作任务调度,类似延迟任务、队列任务、批量任务和定时任务等。一、nuget Hangfire包找到Hangfire.AspNetCore和Hangfire.SqlServer包,可以在nuget面板中找到或直接像如下方式安装:Install PackageHangfire.AspNetCoreInstall PackageHangfire.SqlSe...

2018-05-15 18:41:00 1041

转载 .net core 在扩展中使用接口实例之IServiceProvider

在.net core 2.0中,我们使用的对象实例大多数都是通过构造函数依赖注入进来的,但那是在一般的类中使用。如果需要在静态/扩展类中使用某些服务类的对象实例,可以使用如下方式:1、新建一个ServiceLocator,包含一个IServiceProvider的静态对象实例,如下: public class ServiceLocator { ...

2018-05-14 11:29:00 6040

转载 .net core webapi 配置swagger调试界面

一、创建一个.net core webapi的项目;二、在nuget程序包管理器控制台输入Install-PackageSwashbuckle-version6.0.0-beta902 ;三、在Startup.cs文件中如下配置:注意:在.net core 2.0 中可以使用PlatformServices.Default.Application.Applic...

2018-04-27 22:09:00 638

转载 c# async/await异步编程死锁的问题

在异步编程中,如果稍有不注意,就会造成死锁问题。何为死锁:即两个以上的线程同时争夺被互相锁住的资源,两个都不放手。在UI或asp.net中,容易造成死锁的代码如下所示: private void btnSet_Click(object sender, EventArgs e) { Task<int> task= DelayA...

2018-03-08 16:27:00 771

转载 c# 关于async/await异步编程的浅析和使用

线程的同步运行,时效性慢,异步运行,时效性快!在c#5.0引出了async/await关键字,可以用其来进行异步编程。async/await定义异步方法的语法如下:1、在方法的返回类型前面加上async关键字;2、返回类型固定为void、Task和Task<T>。返回类型建议用Task或Task<T>,因为void不方便捕获异常;3、形参不能使...

2018-03-08 10:06:00 163

转载 c#7的新特性

1、out关键字//可以直接声明使用int.TryParse("12",out int number);2、元组//有点类似匿名对象的样子//用小括号包含变量,可以当做返回值,可以当做变量赋值等//1.当做函数的返回值public static (string name, int age) GetStu() => ("张三",1);...

2018-03-06 17:21:00 47

转载 SignalR 开始聊天室之旅

首先明确需求,我现在有很多个直播间,每个直播间内需要存在一个聊天室,每个聊天室内可以存在很多人聊天,当然,只有登陆系统的会员才能聊天,没有登陆的,干看着吧!根据以上需求,可以做出三个简单的页面:登陆页面、直播列表页面、直播和聊天室页面。一、登陆页面登陆页面如下所示:好简洁,有没有?当用户成功登录之后,将用户信息保存到Session中或其他缓存中,本案例用的是Ses...

2018-01-12 16:44:00 151

转载 SignalR 前期简单配置

一、随便你在哪个命名空间下新建一个Startup类,并在在该类中注册SignalR。using Owin;using System;using System.Collections.Generic;using System.Linq;using System.Web;namespace SignalRTest.Utils { public cla...

2018-01-12 15:23:00 120

转载 SignalR NuGet程序包

最近公司有一个边看直播边聊天的需求,直播好搞,直接用腾讯的小直播,组装推流和播放地址,把推流地址拿出去就OK,只要一推流,就可以使用播放地址观看直播,看完后通过webclient去异步下载直播的视频到服务器就OK。这个扯得有点远了,且看SignalR。至于组件聊天室,使用的是微软的SignalR组件。在vs2015中,使用NuGet管理器去安装SignalR组件。第一步:找到...

2018-01-12 14:53:00 243

转载 RabbitMQ arguments参数设置

有发布端、消费端、消息路由、消息生命周期和身份认证标识等模块参数的设置。具体请参考地址:http://www.rabbitmq.com/extensions.html转载于:https://www.cnblogs.com/williamwsj/p/8110445.html...

2017-12-25 17:43:00 852

转载 RabbitMQ 设置队列的过期时间

设置队列的过期时间非常简单,在声明队列时,设置x-expires参数即可。当队列的生存周期超时后,RabbitMQ server会自动将该队列删除。代码如下:channel.QueueDeclare("q.test", true, false, ...

2017-12-25 17:32:00 1595

转载 RabbitMQ 设置消息的优先级

在RabbitMQ中,可以设置消息的优先级,也就相当于在队列中置顶某条消息,让某个消息优先得到处理的功能。既然是设置消息的优先级,那么就是针对生产者,也就是消息发布端。设置消息的优先级一共有2个步骤:1、设置队列的x-max-priority参数;2、设置消息的Priority参数。话不多说,上代码!发送端: var factory ...

2017-12-25 17:18:00 624

转载 RabbitMQ 消息应答机制(message acknowledgments)

消息应答机制是一个很重要的功能,它能保证消息队列中的某个消息是否被成功处理。如果RabbitMQ server收到Consumer端发来的应答信号,就会将Consumer刚才处理的消息删除,并发送下一个消息给Consumer去处理;如果Consumer端没有回发确认消息给RabbitMQ server,那么当前消息就一直存在消息队列中,如果Consumer端的连接断掉了,RabbitMQ...

2017-12-25 16:15:00 184

转载 RabbitMQ 均衡调度(公平分发机制)

均衡调度是针对Consumer来说的。现在有两个Consumer请求同一个队列的消息。RabbitMQ会将序号为奇数的消息发给第一个Consumer,会将序号为偶数的消息发送给第二个Consumer。如果第一个Consumer处理消息的时间需要很久,而第二个Consumer很快就处理完已经收到的消息,这样看来,第一个Consumer很忙,第二个Consumer很空闲,这就白白的浪费了系统...

2017-12-25 15:58:00 575

转载 RabbitMQ 循环调度

循环调度是针对Consumer消费者来说的。如果有多个Consumer订阅同一个队列的消息,RabbitMQ会自动按照顺序将消息发送到每一个Consumer手中。就是这么简单!转载于:https://www.cnblogs.com/williamwsj/p/8109657.html...

2017-12-25 15:37:00 203

空空如也

空空如也

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

TA关注的人

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