随笔- 672
文章- 2
评论- 325
阅读-
281万
01 2019 档案
ASP.NET Core中如果Response.HasStarted已经为true,就不能更改Response.Cookies和Response.Headers等属性的值了
摘要:最近我在ASP.NET Core中做了一个中间件CustomizedMiddleware,要说该中间件的功能也很简单,其实就是往HttpResponse中添加一个Cookie而已,但是我将添加Cookie的代码放在了next.Invoke(context)的后面,如下所示: 结果代码执行到 cont
阅读全文
ASP.NET Core 防止跨站请求伪造(XSRF/CSRF)攻击 (转载)
摘要:什么是反伪造攻击? 跨站点请求伪造(也称为XSRF或CSRF,发音为see-surf)是对Web托管应用程序的攻击,因为恶意网站可能会影响客户端浏览器和浏览器信任网站之间的交互。这种攻击是完全有可能的,因为Web浏览器会自动在每一个请求中发送某些身份验证令牌到请求网站。这种攻击形式也被称为 一键式攻
阅读全文
ASP.NET Core 中 HttpContext 详解与使用 | Microsoft.AspNetCore.Http 详解 (转载)
摘要:“传导体” HttpContext 要理解 HttpContext 是干嘛的,首先,看图 图一 内网访问程序 图二 反向代理访问程序 ASP.NET Core 程序中,Kestrel 是一个基于 libuv 的跨平台 ASP.NET Core web 服务器。不清楚 Kerstrel 没关系,以后慢
阅读全文
ASP.NET Core MVC中URL和数据模型的匹配
摘要:Http GET方法 首先我们来看看GET方法的Http请求,URL参数和ASP.NET Core MVC中Controller的Action方法参数匹配情况。 我定义一个UserController,其中有一个只接受GET请求的Action方法GetDataInPage GetDataInPage
阅读全文
安全提示:IIS不要开启“WebDAV”扩展(转载)
摘要:在IIS设置里,有一个“Web服务扩展”的设置,其中包括“WebDAV”扩展。许多人都不明白,这个“WebDAV”扩展是干嘛用的,要不要开启呢?有不少人的想法是“开启吧,以免影响网站运行,启用总比不启用好”。其实,这些人的想法是错误的,我们在设置服务器时,基本原则是启用的服务越少越好,能不启用就不启
阅读全文
LINQ Group By操作(转载)
摘要:假设我们需要从两张表中统计出热门商圈,这两张表内容如下: 上表是所有政区,商圈中的餐饮个数,名为FoodDistrict 下表是所有政区,商圈中的SPA个数,名为SPADistrict 现在要把这两张表,根据政区和商圈合并,然后相加Counts,根据Counts的总大小排序,统计热门商圈和热门政区。
阅读全文
FileShare枚举的使用(文件读写锁) - (转载)
摘要:开发过程中,我们往往需要大量与文件交互,但往往会出现很多令人措手不及的意外,所以对普通的C#文件操作做了一次总结,问题大部分如下: 看到这些,有经验的同学应该就会说资源没被释放掉,但也存在如下可能性。我们对文件的操作非常频繁,所以写了特定的操作类/组件来维护文件之间的操作,知道特定的时刻才结束,常见
阅读全文
Multiple Threads reading from the same file(转载)
摘要:问 I have a xml file that needs to be read from many many times. I am trying to use the Parallel.ForEach to speed this processes up since none of that
阅读全文
C# 深浅复制 MemberwiseClone(转载)
摘要:最近拜读了大话设计模式:原型模式,该模式主要应用C# 深浅复制来实现的!关于深浅复制大家可参考MSDN:https://docs.microsoft.com/zh-cn/dotnet/api/system.object.memberwiseclone 所谓深浅复制可解读为: 浅复制:在C#中调用Ob
阅读全文
ASP.NET Core中获取完整的URL(转载)
摘要:在之前的ASP.NET中,可以通过 Request.Url.AbsoluteUri 获取,但在ASP.NET Core没有这个实现,请问如何获取呢?方法一:先引用“using Microsoft.AspNetCore.Http.Extensions;”,然后直接用“Request.GetDispla
阅读全文
C#多线程中的异常处理(转载)
摘要:常规Thread中处理异常 使用Thread创建的子线程,需要在委托中捕捉,无法在上下文线程中捕捉 Task中处理异常 1.仍然可以在委托中捕获异常2.可以捕获Task.Wait() 或者 Task.Result 的 AggregateException 异常 AggregateException
阅读全文
c#中的多线程异常 (转载)
摘要:1.对于Thread操作的异常处理 在DoWork函数里抛出的异常时不会被主线程的try,catch捕捉的,各个线程应该有自己的try,catch去处理线程异常。正确写法: 2. 异步函数的异常处理例如如 WebClient中的 UploadStringAsync,它的异常会在UploadStrin
阅读全文
C# 16进制与字符串、字节数组之间的转换 (转载)
摘要:1.请问c#中如何将十进制数的字符串转化成十六进制数的字符串 2.在串口通讯过程中,经常要用到 16进制与字符串、字节数组之间的转换 字符串转16进制字节数组 字节数组转16进制字符串 从汉字转换到16进制 16进制转换成汉字 原文链接
阅读全文
有哪些操作会使用到TempDB;如果TempDB异常变大,可能的原因是什么,该如何处理(转载)
摘要:有哪些操作会使用到TempDB;如果TempDB异常变大,可能的原因是什么,该如何处理;tempdb的用途: 存储专用和全局临时变量,不考虑数据库上下文; 与Order by 子句,游标,Group by子句和Hash计划相关的工作表 显式创建的临时对象,如存储过程,游标,表和表变量。 如果启动快照
阅读全文
SQL Server 中如何移动tempdb到新的位置
摘要:操作步骤:1、检查tempdb的逻辑名字和它的存在位置。可以使用下面语句: SELECT name, physical_name FROM sys.master_files WHERE database_id = DB_ID('tempdb'); 2、停止数据库服务. 3、拷贝原来tempdb的文件
阅读全文
C#析构函数 (转载)
摘要:一、C#析构函数 1. 析构函数的定义与注意的问题析构函数用于释放被占用的系统资源。析构函数的名字由符号“~”加类名组成。使用析构函数时,应该注意下面的问题: 只能在类中使用析构函数,不能在结构中使用析构函数。 一个类只能有一个析构函数。 不能继承或重载析构函数。 析构函数只能被自动调用。 析构函数
阅读全文
EF Core中DbContext可以被Dispose多次
摘要:我们知道,在EF Core中DbContext用完后要记得调用Dispose方法释放资源。但是其实DbContext可以多次调用Dispose方法,虽然只有第一次Dispose会起作用,但是DbContext多次调用Dispose方法并不会报错。 我们看看下面的示例代码,可以看到我们调用了DbCon
阅读全文
SQL Server CTE 递归查询全解(转载)
摘要:在TSQL脚本中,也能实现递归查询,SQL Server提供CTE(Common Table Expression),只需要编写少量的代码,就能实现递归查询,本文详细介绍CTE递归调用的特性和使用示例,递归查询主要用于层次结构的查询,从叶级(Leaf Level)向顶层(Root Level)查询,
阅读全文
ASP.NET Core MVC中Controller的Action,默认既支持HttpGet,又支持HttpPost
摘要:我们知道ASP.NET Core MVC中Controller的Action上可以声明HttpGet和HttpPost特性标签,来限制可以访问Action的Http请求类型(GET、POST等)。 那么默认情况下如果我们没有给Controller的Action声明任何标签,那Action支持的是什么
阅读全文
ASP.NET Core 使用外部登陆提供程序登陆的流程,以及身份认证的流程 (转载)
摘要:阅读目录 在Asp.Net Core 中使用外部登陆(google、微博...) 中间件管道 The Authentication Middleware The Challenge 与认证中间件进行交互 中间件交互示例 使用外部登陆提供器中间件 使用额外的Cookie中间件来启用中间认证步骤 OAu
阅读全文
SQL Server中比较末尾带有空格的字符串遇到的坑 (转载)
摘要:最近发现SQLServer中比较字符串的时候 如果字符串末尾是空格 那么SQLServer会无视那些空格直接进行比较 这和程序中平时的字符串判断逻辑不统一 以上查询执行后的结果如下 从上面可以看出 直接等号判断的时候 SQL会无视末尾的空格 但是like却能够正确的比较 虽然用like也是一种方法
阅读全文
ASP.NET Core如何设置请求超时时间
摘要:如果一个请求在ASP.NET Core中运行太久,会导致请求超时,目前ASP.NET Core对请求超时的设置比较麻烦,本文列出目前收集到的一些方法,供大家参考。 部署ASP.NET Core到IIS的设置方法 如果你的ASP.NET Core项目是部署在IIS上的,那么可以在ASP.NET Cor
阅读全文
ADO.NET的Connection Timeout和Command Timeout (转载)
摘要:每次对数据库连接时,我们有时候会碰到连接超时或者命令超时,这两个超时是不一样的。以ADO.NET为例,当客户端和服务器端连接时,碰到的超时情况主要有下面几种:当从连接池获取一个连接时,碰到超时。当建立一个全新连接(而不是从连接池获取)时,碰到超时。当发送一个命令(command)到SQL Serve
阅读全文
Multiple “order by” in LINQ(转载)
摘要:问: I have two tables, movies and categories, and I get an ordered list by categoryID first and then by Name.The movie table has three columns, ID, Nam
阅读全文
Cookies, Claims and Authentication in ASP.NET Core(转载)
摘要:Most of the literature concerning the theme of authentication in ASP.NET Core focuses on the use of the ASP.NET Identity framework. In that context, t
阅读全文
Json.NET序列化后包含类型,保证序列化和反序列化的对象类型相同(转载)
摘要:This sample uses the TypeNameHandling setting to include type information when serializing JSON and read type information so that the create types are
阅读全文
.NET Core 对象到字节数组的序列化和反序列化
摘要:.NET Core中利用MemoryStream和BinaryFormatter可以实现对象到字节数组的序列化和反序列化: 定义ObjectSerializer类,实现对象到字节数组的序列化和反序列化 用BinaryFormatter做序列化和反序列化最大的一个问题是,序列化和反序列化的类型必须是标
阅读全文
关于NLB的群集操作模式知识 (转载)
摘要:单播:单播模式是指各节点的网络适配器被重新指定了一个虚拟MAC(由02-bf和群集IP地址组成确保此MAC的唯一性)。由于所有绑定群集的网络适配器的MAC都相同,所以在单网卡的情况下,各节点之间是不能通讯的,这也是推荐双网卡配置的原因之一。为了避免交换机的数据洪水,应该结合VLAN使用。 多播:网络
阅读全文
NLB网路负载均衡管理器详解(转载)
摘要:序言 在上一篇配置iis负载均衡中我们使用啦微软的ARR,我在那篇文章也中提到了网站的高可用性,但是ARR只能做请求入口的消息分发服务,这样如果我们的消息分发服务器给down掉啦,那么做再多的应用服务集群也都枉然。这篇文章我主要针对解决这一问题来做分析,引入NLB,相对于ARR来说,ARR算是应用级
阅读全文
Json.NET如何避免循环引用
摘要:Json.NET在将对象序列化为Json字符串的时候,如果对象有循环引用的属性或字段,那么会导致Json.NET抛出循环引用异常。 有两种方法可以解决这个问题: 1、在对象循环引用的属性上打上[JsonIgnore]标签,例如: public class UserProfile { public s
阅读全文
在AspNetCore 中 使用Redis实现分布式缓存 (转载)
摘要:文章概念描述 分布式缓存描述:分布式缓存重点是在分布式上,相信大家接触过的分布式有很多中,像分布式开发,分布式部署,分布式锁、事物、系统 等有很多。使我们对分布式本身就有一个很明确的认识,分布式就是有多个应用程序组成,可能分布在不同的服务器上,最终都是在为web端提供服务。分布式缓存有以下几点优点:
阅读全文
Windows下安装Redis
摘要:第一步: 下载windows版本的Redis:https://github.com/MSOpenTech/redis/releases 这里我下载的是msi安装程序版: 安装时会让你指定Redis使用的端口号,这个最好找个地方记下来。 安装好后,你会发现Windows Service列表中,就出现了
阅读全文
SQLServer的TDE加密
摘要:TDE的主要作用是防止数据库备份或数据文件被偷了以后,偷数据库备份或文件的人在没有数据加密密钥的情况下是无法恢复或附加数据库的。 首先创建SQL Server中master系统数据库的MASTER KEY和CERTIFICATE: 创建测试数据库TestDbEncryption,该数据库将会开启TD
阅读全文
.NET Core中向已存在文件的特定位置写入数据
摘要:本例使用.NET Core向一个文本文件中的特定位置写入数据,来模拟文件上传中的断点续传是如何在服务器端实现的。 新建一个.NET Core控制台项目FileContinueToWrite,其Program.cs的源代码如下: 上面的代码会先运行GenerateFile方法生成一个文本文件Demo.
阅读全文
学习ASP.NET Core,你必须了解无处不在的“依赖注入”(转载)
摘要:ASP.NET Core的核心是通过一个Server和若干注册的Middleware构成的管道,不论是管道自身的构建,还是Server和Middleware自身的实现,以及构建在这个管道的应用,都需要相应的服务提供支持,ASP.NET Core自身提供了一个DI容器来实现针对服务的注册和消费。换句话
阅读全文
ASP.NET Core的Kestrel服务器(转载)
摘要:Kestrel是一个基于libuv的跨平台ASP.NET Core web服务器,libuv是一个跨平台的异步I/O库。ASP.NET Core模板项目使用Kestrel作为默认的web服务器。Kestrel支持以下功能: HTTPS 用于启用不透明升级的WebSockets 位于Nginx之后的高
阅读全文
ASP.NET Core MVC中的IActionFilter.OnActionExecuting方法,可以获取Controller的Action方法参数值
摘要:用过ASP.NET Core MVC中IActionFilter拦截器的开发人员,都知道这是一个非常强大的MVC拦截器。最近才发现IActionFilter的OnActionExecuting方法,甚至可以获取Controller的Action方法参数值。 假如我们在ASP.NET Core MVC
阅读全文
SQL 中常用存储过程xp_cmdshell运行cmd命令 (转载)
摘要:目的:使用SQL语句,在D盘创建一个文件夹myfile 首先查询系统配置 可以看到他们的值为0,无法配置 打开系统配置: 可以看到在D盘创建了一个myfile 文件夹执行第一句查看配置: 关闭系统配置: 执行第一句: 原文链接
阅读全文
SQL Server数据库中外键强制约束的好处是什么,什么时候设置外键非强制约束?(转载)
摘要:Sql Server: What is the benefit of using “Enforce foreign key constraint” when it's set to “NO”? 问 I know the purpose of "Enforce foreign key constrai
阅读全文
EF Core中如何取消跟踪DbContext中所有被跟踪的实体
摘要:首先定义一个DbContext的扩展类DbContextDetachAllExtension,其中包含一个DbContext的扩展方法DetachAll,用来取消跟踪DbContext中所有被跟踪的实体: 其用法如下:
阅读全文
如何在ASP.NET Core中构造UrlHelper,及ASP.NET Core MVC路由讲解
摘要:参考文章: Unable to utilize UrlHelper 除了上面参考文章中介绍的方法,其实在ASP.NET Core MVC的Filter拦截器中要使用UrlHelper非常简单。如下代码就展示了如何在IActionFilter拦截器中构造和使用UrlHelper,其它MVC的Filte
阅读全文
Jquery的Ajax中contentType和dataType的区别(转载)
摘要:上代码 区分:contentType: 发送信息至服务器时内容编码类型,简单说告诉服务器请求类型的数据 在调试js时候通过chrome的F12或firefox的firebug查看请求参数时,尤其请注意head 默认值: "application/x-www-form-urlencoded"dataT
阅读全文
jquery ajax error函数和及其参数详细说明(转载)
摘要:使用jquery的ajax方法向服务器发送请求的时候,常常需要使用到error函数进行错误信息的处理,本文详细的说明了ajax中error函数和函数中各个参数的用法。一般error函数返回的参数有三个: function(jqXHR jqXHR, String textStatus, String
阅读全文
JS设置cookie、读取cookie、删除cookie(转载)
摘要:JavaScript是运行在客户端的脚本,因此一般是不能够设置Session的,因为Session是运行在服务器端的。而cookie是运行在客户端的,所以可以用JS来设置cookie.假设有这样一种情况,在某个用例流程中,由A页面跳至B页面,若在A页面中采用JS用变量temp保存了某一变量的值,在B
阅读全文