极客神殿

坚持,自由,信仰

排序:
默认
按更新时间
按访问量

高性能IO模型浅析

服务器端编程经常需要构造高性能的IO模型,常见的IO模型有四种: (1)同步阻塞IO(Blocking IO):即传统的IO模型。 (2)同步非阻塞IO(Non-blocking IO):默认创建的socket都是阻塞的,非阻塞IO要求socket被设置为NONBLOCK。注意这里所说的NIO...

2018-07-12 13:22:27

阅读数:20

评论数:0

五种网络io模型

由于最近再看nginx,其采用了优于apache的select网络io模型,所以稍微了解了下网络io的模型的基础知识。 首先,介绍几种常见的I/O模型及其区别,如下: blocking I/O nonblocking I/O I/O multiplexing (select and pol...

2018-07-12 13:04:07

阅读数:11

评论数:0

MVC 5 + EF 6(七)【加载相关数据】

1.延迟(Lazy)加载、预先(Eager)加载、显式(Explicit)加载: EF加载相关数据到实体导航属性有以下几种方式: 延迟加载:当实体第一次读取时,相关数据没有加载。当第一次试图访问导航属性时,所需的导航数据自动加载。这导致多条查询语句被发送到数据库:一条查询实体本身,一条查询实体...

2018-07-10 22:22:05

阅读数:8

评论数:0

WebApi和Mvc的Session一直获取不到问题

前一段时间在给移动端写接口时遇到一个调用接口发送邮箱 session一直获取不到的问题。 大家都知道Webapi默认是不开启Session会话支持的。所以需要Global文件中要重写方法如下: public override void Init() { this...

2018-07-10 21:43:57

阅读数:14

评论数:0

ASP.NET MVC & WebApi 中实现Cors来让Ajax可以跨域访问

什么是Cors? CORS是一个W3C标准,全称是”跨域资源共享”(Cross-origin resource sharing)。 它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。 本文详细介绍CORS的内部机制。 一、简介 CORS...

2018-07-10 21:43:18

阅读数:14

评论数:0

mvc源码解读(14)-mvc四大过滤器之ExceptionFilter

这一章我们主要来讲异常过滤器ExceptionFilter,废话不多说,mvc3中默认的异常过滤器特性类是HandleErrorAttribute,该类的主要主要成员有: public Type ExceptionType{get;set} public string View ...

2018-07-10 21:42:24

阅读数:18

评论数:0

mvc源码解读(13)-MVC四大过滤器之ResultFilter

上一篇讲到ActionFilter,这一篇我们来讲解ResultFilter,顾名思义,就是结果过滤器。和ActionFilter要实现抽象类ActionFilterAttribute里面的四个方法一样,我们自定义的ResultFilter的过滤特性类也要继承ActionFilterAttribu...

2018-07-10 21:35:35

阅读数:13

评论数:0

mvc源码解读(12)-mvc四大过滤器之ActionFilter

上一篇中我们随便聊了聊MVC的授权过滤器AuthorizeFilter,其实真正关于.net平台下的认证体系之复杂远远超出了我们的想像,对权限的控制我们只能找到相对安全的做法,并不能从绝对上杜绝不安全的验证,特别是对于.net下授权权限的控制。有机会我们可以回过头来深入的探讨有关.net平台下的权...

2018-07-10 21:13:12

阅读数:14

评论数:0

mvc源码解读(11)-mvc四大过滤器之AuthorizationFilter

在上一篇文章中,在讲完ActionDescriptor这个类之后,我们直接跳过了这一句代码: FilterInfo filterInfo = GetFilters(controllerContext, actionDescriptor); 直接讲了ParameterDescriptor,现...

2018-07-10 21:00:50

阅读数:14

评论数:0

AppBuilder(四)【SignatureConversions】

源码参见 Microsoft.Owin.Builder.AppBuilder Microsoft.Owin.Infrastructure.SignatureConversions 在AppBuilder中遇到了_middleware三元组的Item1,微软工程师称之为signature不一致...

2018-07-09 21:56:39

阅读数:11

评论数:0

AppBuilder(三)【BuildInternal】

(三)BuildInternal 源码参见Microsoft.Owin.Builder.AppBuilder 推荐三篇文章,对理解本文内容有帮助。 Delegate.CreateDelegate Method (Type,?Object,?MethodInfo) 官方文档 https://...

2018-07-09 21:42:18

阅读数:18

评论数:0

AppBuilder(二)【UseStageMarker】

源码参见 Microsoft.Owin.Host.SystemWeb.OwinBuilder Microsoft.Owin.Builder.AppBuilder Microsoft.Owin.Host.SystemWeb.OwinHttpModule 本节主要涉及app.UseStageM...

2018-07-09 21:13:23

阅读数:13

评论数:0

AppBuilder(一)【Use汇总】

(一)Use汇总 源码参见Microsoft.Owin.Host.SystemWeb.OwinBuilder Microsoft.Owin.Builder.AppBuilder 前文讲到 internal static OwinAppContext Build() { ...

2018-07-09 21:12:37

阅读数:25

评论数:0

RabbitMQ防止消息丢失

1.简介 RabbitMQ中,消息丢失可以简单的分为两种:客户端丢失和服务端丢失。针对这两种消息丢失,RabbitMQ都给出了相应的解决方案。 2.防止客户端丢失消息 如图,生产者P向队列中生产消息,C1和C2消费队列中的消息,默认情况下,RabbitMQ会平均的分发消费给C1C2(Ro...

2018-07-08 16:15:14

阅读数:42

评论数:0

解决RabbitMQ消息丢失与重复消费问题

背景 最近用户反馈提交的SQL查询一直处于长时间等待状态,经过排查观察,发现部分查询请求丢失,导致用户提交的查询未被正常接收,继而长时间无响应。 现象:集市SQL控制台提交10个简单SQL查询 -> 消息发送方:发送10条消息至消息队列 -&a...

2018-07-08 15:35:07

阅读数:11

评论数:0

Owin知识

OWIN是Open Web Server Interface for .NET的首字母缩写,他的定义如下: OWIN在.NET Web Servers与Web Application之间定义了一套标准接口,OWIN的目标是用于解耦Web Server和Web Application。基于此标准,...

2018-07-08 15:29:51

阅读数:23

评论数:0

The Open Web Interface for .NET (OWIN) 源码阅读

katana开源许久,网上仍未搜索到对其源码的阅读总结,本人在工作中正好遇到数据处理流程框架设计,想来跟服务器处理request和response差不多,遂起了阅读katana源码,并借鉴其设计的想法,磕磕碰碰,困难重重,所幸有一些收获,与大家交流交流。 katana源码 https://kat...

2018-07-08 15:02:01

阅读数:10

评论数:0

OWIN 中文文档

OWIN:为 dotnet 开放的 web 服务接口 1 概述 本文对用于定义 OWIN,OWIN 是 .NET web 服务和 web 应用程序之间的一个标准接口。OWIN 的目标是用于服务与应用程序之间解耦【译者注:使两者间没有强关联,或者说相互不依赖】,并且成为一种开放规范,从而激励...

2018-07-08 14:45:14

阅读数:11

评论数:0

C#高级编程六十六天----表达式树总结

表达式树总结 基础 表达式树提供了一个将可执行代码转换成数据的方法.如果你要在执行代码之前修改或转换此代码,那么它是很有用的.有其是当你要将C#代码—-如LINQ查询表达式转换成其他代码在另一个程序—-如SQL数据库里操作它. 表达式树的语法: 考虑下面简单的Lambda表达式: Fun...

2018-07-08 12:07:16

阅读数:26

评论数:0

C#高级编程六十五天----表达式树

表达式树 以前没听过表达式树,只听过表达式,而且听过Lambda表达式,首先介绍一下.NET里表达式树的核心概念:讲代码作为数据,他将一些代码表示为一个对象树,树中的每个节点本身都是一个表达式,不同的表达式类型代表能在代码中执行不同操作:二元操作,一元操作,方法调用等等. System.Lin...

2018-07-07 23:49:55

阅读数:11

评论数:0

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