链接:cnblogs.com/xiaoxiaotank/p/15586706.html 系列文章 《理解 ASP.NET Core - 配置(Configuration)》 《理解 ASP.NET Core...- 依赖注入》 《理解 ASP.NET Core - 文件服务器(File Server)》 使用中间件进行错误处理 开发人员异常页 开发人员异常页用于显示未处理的请求异常的详细信息。...错误状态码处理 默认情况下,当ASP.NET Core遇到没有正文的400-599Http错误状态码时,不会为其提供页面,而是返回状态码和空响应正文。...使用过滤器进行错误处理 除了错误处理中间件外,ASP.NET Core 还提供了异常过滤器,用于错误处理。...在我们的应用中,可以同时使用错误处理中间件和异常过滤器,只有充分发挥它们各自的优势,才能处理好程序中的错误。
由于ASP.NET Core应用是一个同时处理多个请求的服务器应用,所以在处理某个请求过程中抛出的异常并不会导致整个应用的终止。...ASP.NET Core提供了相应的中间件帮助我们将定制化的错误信息呈现出来,这些中间件都定义在“Microsoft.AspNetCore.Diagnostics”这个NuGet包中。...当我们利用浏览器访问这个应用的时候,显示的错误消息将由响应状态码来决定。 ? 在ASP.NET Core的世界里,针对请求的处理总是体现为一个RequestDelegate对象。...Core应用的错误处理[1]:三种呈现错误页面的方式 ASP.NET Core应用的错误处理[2]:DeveloperExceptionPageMiddleware中间件 ASP.NET Core应用的错误处理...[3]:ExceptionHandlerMiddleware中间件 ASP.NET Core应用的错误处理[4]:StatusCodePagesMiddleware中间件
如果你是老张的忠实读者的话,如果是从博客园就开始看我的文章的话,如果后期也一直看我公众号的话,应该就知道其实我一直在根据一条无形的教学线路来讲解的,,如果你真的是想好好学的话,请好好看看我之前的文章吧...4、发布自己的镜像 1、添加Docker支持 这个操作是很简单的,我们打开Blog.Core项目,选择Web层,然后添加Docker支持: 会生成一个Dockerfile的文件,默认的信息比较多,...EXPOSE 8081 ENTRYPOINT ["dotnet", "Blog.Core.dll","-b","0.0.0.0"] 简介一下: FROM:意思是我们的项目源镜像是哪个; WORKDIR...(这里将执行dotnet Blog.Core.dll命令) 然后右键,始终属性、始终复制到输出(bin)目录: 接下来就是上次到Github了。...3、创建镜像 进入到我们的发布文件夹.PublishFiles文件夹下,我们测试一下这个文件是否正常: dotnet Blog.Core.dll 可以看到已经正常的监听了8081端口,这里要注意一下
[本文已经同步到《ASP.NET Core框架揭秘》之中] 1: public class ExceptionHandlerMiddleware 2: { 3: public...对于作为资源提供者的Web应用来说,当它在处理请求的时候,除了将目标资源作为响应的主体内容之外,它还需要设置用于控制缓存的相关响应报头。...在如下这个应用中,我们将针对请求的处理实现在Invoke方法中,它有50%的可能会抛出异常。...Core应用的错误处理[1]:三种呈现错误页面的方式 ASP.NET Core应用的错误处理[2]:DeveloperExceptionPageMiddleware中间件 ASP.NET Core应用的错误处理...[3]:ExceptionHandlerMiddleware中间件 ASP.NET Core应用的错误处理[4]:StatusCodePagesMiddleware中间件
要承载一个ASP.NET Core应用,只需要将GenericWebHostService服务注册到承载系统中即可。...而ASP.NET Core应用下的承载上下文是通过WebHostBuilderContext对象表示的,两个上下文之间的不同之处体现在针对承载环境的描述上,WebHostBuilderContext上下文中的承载环境是通过...ASP.NET Core应用中,源于GenericWebHostBuilder类型ISupportsUseDefaultServiceProvider接口的实现。...ASP.NET Core应用中。...Hosting Startup类型提供的方式将一些工具“附加”到一个ASP.NET Core应用中。
我们知道ASP.NET Core应用的请求处理管道是由一个IServer对象和IHttpApplication对象构成的。...[本文节选自《ASP.NET Core 3框架揭秘》第13章, 更多关于ASP.NET Core的文章请点这里] 目录 一、配置选项:GenericWebHostServiceOptions 二...由于ASP.NET Core应用是由GenericWebHostService服务承载的,所以启动应用程序本质上就是启动这个承载服务。...方法中用来启动应用程序的流程划分为如下4个步骤。...对象,该对象对于服务器来说就是用来处理由它接收请求的应用程序。
在《ASP.NET Core应用的错误处理[1]:三种呈现错误页面的方式》中,我们通过几个简单的实例演示了如何呈现一个错误页面,这些错误页面的呈现分别由三个对应的中间件来完成,接下来我们将对这三个中间件进行详细介绍...但是不要忘了在一个ASP.NET Core MVC应用中,视图文件(.cshtml)是支持“动态编译”的。也就是说我们可以直接部署视图源文件,应用在执行过程中是可以动态地编译它们的。...通过ASP.NET Core应用的错误处理[1]:三种呈现错误页面的方式》演示的实例我们已经知道,DeveloperExceptionPageMiddleware中间件在处理运行时异常时不仅仅会将异常的详细信息显示在错误页面中...---- ASP.NET Core应用的错误处理[1]:三种呈现错误页面的方式 ASP.NET Core应用的错误处理[2]:DeveloperExceptionPageMiddleware中间件 ASP.NET...Core应用的错误处理[3]:ExceptionHandlerMiddleware中间件 ASP.NET Core应用的错误处理[4]:StatusCodePagesMiddleware中间件
[本文已经同步到《ASP.NET Core框架揭秘》之中] 1: public class StatusCodePagesMiddleware 2: { 3: public...之所以被命名为UseStatusCodePagesWithReExecute,是因为通过这方法注册的StatusCodePagesMiddleware中间件进行错误处理的时候,它仅仅是提供的重定向路径和查询字符串应用到当前...,具体体现在将指定的请求路径和查询字符串重新应用到当前请求上下文中。...Core应用的错误处理[1]:三种呈现错误页面的方式 ASP.NET Core应用的错误处理[2]:DeveloperExceptionPageMiddleware中间件 ASP.NET Core应用的错误处理...[3]:ExceptionHandlerMiddleware中间件 ASP.NET Core应用的错误处理[4]:StatusCodePagesMiddleware中间件
指定 ASP.NET Core 应用监听的端口 ASP.NET Core 应用默认监听的端口是 5000 , 在调试或者部署的过程中经常需要指定监听的端口来来运行, 本文就这个问题, 进行一个总结, 可以通过下面的方法来指定运行端口...使用命令行参数 使用命令行参数 --urls 是最常用的方法了, 测试或者开发环境下用的最多。...环境变量 ASP.NET Core 应用在启动时会自动读取名称以 ASPNETCORE 开头的环境变量, 所以也可以通过环境变量来指定监听的端口。...export ASPNETCORE_URLS=http://localhost:5001/ dotnet run 在微软提供的 mcr.microsoft.com/dotnet/core/aspnet...使用 Kestrel 服务器选项 ASP.NET Core 内置的 kestrel 服务器, 也提供了许多选项, 当然也包括了要监听的端口, 要在应用中使用 Kestrel 服务器选项, 需要在 Program.cs
本文将介绍ASP.NET Core SignalR,这是一个强大的实时通信库,用于构建实时、双向通信应用程序。...ASP.NET Core SignalR提供了一种简单而强大的方式来构建实时通信应用程序。...SignalR基础知识 SignalR是一个开源的ASP.NET Core库,用于构建实时、双向通信应用程序。它允许服务器端代码主动向客户端推送数据,而不需要客户端发起请求。...首先,我们需要创建一个ASP.NET Core Web应用程序。可以使用Visual Studio或者命令行工具创建一个新的ASP.NET Core项目。...总结 本文详细介绍了ASP.NET Core SignalR的基本概念、架构和工作原理,并通过一个实时聊天应用程序的示例演示了如何使用SignalR构建实时应用程序。
我个人觉得这是ASP.NET Core MVC框架体系最核心的部分。...原因很简单,MVC框架建立在ASP.NET Core路由终结点上,它最终的目的就是将每个Action方法映射为一个或者多个路由终结点,路由终结点根据附加在Action上的若干元数据构建而成。...这篇文章大概是两年之前写的,可能一些技术细节在最新版本的ASP.NET Core MVC已经发生了改变,但总体设计依然如此。...ASP.NET Core MVC应用模型的构建[1]: 应用的蓝图 ASP.NET Core MVC应用模型的构建[2]: 应用模型 ASP.NET Core MVC应用模型的构建[3]: Controller...模型 ASP.NET Core MVC应用模型的构建[4]: Action模型
在对应用模型的基本构建方式具有大致的了解之后,我们来系统地认识一下描述应用模型的ApplicationModel类型。...,而最初的元数据则来源于应用模型,所以有时候一些针对请求流程的控制需要间接地利用针对应用模型的定制来实现。...= _groupName; } } 用于定制应用模型的各种约定需要注册到代表MVC应用配置选项的MvcOptions对象上,所以我们需要对应用承载程序作相应的修改。...Core MVC应用模型的构建[1]: 应用的蓝图 ASP.NET Core MVC应用模型的构建[2]: 应用模型 ASP.NET Core MVC应用模型的构建[3]: Controller模型...ASP.NET Core MVC应用模型的构建[4]: Action模型
当ASP.NET Core应用在处理请求过程中出现错误时,我们可以利用它们将原生的或者定制的错误信息作为响应内容发送给客户端。...[更多关于ASP.NET Core的文章请点这里] 一、显示开发者异常页面 如果ASP.NET Core应用在处理某个请求时出现异常,它一般会返回一个状态码为“500 Internal Server Error...这个问题有两种解决方案:一种是利用日志,因为ASP.NET Core应用在进行请求处理时出现的任何错误都会被写入日志,所以可以通过注册相应的ILoggerProvider对象来获取写入的错误日志,如可以注册一个...当我们利用浏览器访问这个应用的时候,显示的错误消息将以下图所示的形式由响应状态码来决定。 ? 在ASP.NET Core的世界里,针对请求的处理总是体现为一个RequestDelegate对象。...Core错误处理中间件[1]: 呈现错误信息 ASP.NET Core错误处理中间件[2]: 开发者异常页面 ASP.NET Core错误处理中间件[3]: 异常处理器 ASP.NET Core错误处理中间件
更多关于ASP.NET Core的文章请点这里] 一、ExceptionHandlerMiddleware 由于ExceptionHandlerMiddleware中间件可以使用指定的RequestDelegate...如果希望应用在发生异常后自动重定向到某个指定的路径,该路径就可以利用ExceptionHandlingPath属性来指定。...当整个请求处理流程完全结束之后,ExceptionHandlerMiddleware中间件会借助这个特性得到原始的请求路径,并将其重新应用到当前HttpContext上下文中。...对于作为资源提供者的Web应用来说,当它在处理请求的时候,除了将目标资源作为响应的主体内容,它还需要设置用于控制缓存的相关响应报头。...在如下所示的应用中,我们将针对请求的处理实现在ProcessAsync方法中,它有50%的可能会抛出异常。
ASP.NET Core应用本质上就是一个由中间件构成的管道,承载系统将应用承载于一个托管进程中运行起来,其核心任务就是将这个管道构建起来。...从设计模式的角度来讲,“管道”是构建者(Builder)模式最典型的应用场景,所以ASP.NET Core先后采用的三种承载方式都是采用这种模式。...的应用承载方式 ASP.NET Core Core 1.X/2.X采用的承载模型以IWebHostBuilder和IWebHost为核心。...由于ASP.NET Core建立在依赖注入框架之上,所以应用往往需要涉及到很多服务注册,我们一般也会将“服务注册”的工作也放在这个Startup类型中。...ASP.NET Core应用的GenericWebHostService做进一步设置。
AgileConfig的UI使用react重写快完成了。上次搞定了基于jwt的登录模式(AntDesign Pro + .NET Core 实现基于JWT的登录认证),但是还有点问题。...然后修改前端的baseURL让spa的api请求都指向server的网站。 这样做也不是不行,但是这不符合AgileConfig的精神,那就是简单。...asp.net core程序本身其实就是一个http服务器,所以完全可以把spa网站使用它来承载。这样只需要部署一个站点就可以同时跑spa跟后端server了。...总结 为了能让asp.net core承载react spa应用,我们使用一个中间件进行拦截。当访问对应path的时候从本地文件夹内读取静态资源返回给浏览器,从而完成spa所需要资源的加载。...这次使用react spa来演示,其实换成任何spa应用都是一样的操作。
更多关于ASP.NET Core的文章请点这里] 目录 一、StatusCodePagesMiddleware 二、阻止处理异常 三、UseStatusCodePages 四、UseStatusCodePagesWithRedirects...在最终决定是否执行错误处理操作的时候,它还会通过这个特性检验后续的某个中间件是否不希望其进行不必要的错误处理,如下所示的代码片段很好地体现了这一点。...之所以命名为UseStatusCodePagesWithReExecute,是因为通过这个方法注册的StatusCodePagesMiddleware中间件进行错误处理时,它仅仅将提供的重定向路径和查询字符串应用到当前...,具体体现在它会将指定的请求路径和查询字符串重新应用到当前请求上下文中。...Core错误处理中间件[1]: 呈现错误信息 ASP.NET Core错误处理中间件[2]: 开发者异常页面 ASP.NET Core错误处理中间件[3]: 异常处理器 ASP.NET Core错误处理中间件
MiniProfiler(https://miniprofiler.com/)是一个轻量级且简单易用的分析工具库,它可以用来分析ASP.NET Core应用。...优点 针对ASP.NET Core MVC应用,使用MiniProfiler的优点是:它会把结果直接放在页面的左下角,随时可以点击查看;这样的话就可以感知出你的程序运行的怎么样;同时这也意味着,在你开发新功能的同时...安装配置MiniProfiler 在现有的ASP.NET Core MVC项目里,通过Nuget安装: ? 接下来,想把MiniProfiler配置好,总共分三步?...运行应用,可以看到左下角就是MiniProfiler: ? 点击它之后会弹出窗口: ? 这里面有每个步骤具体的耗用时间。...在WebApi项目里使用MiniProfiler并且分析 Entity Framework Core 我换了一个ASP.NET Core Web API的解决方案,它用到了Entity Framework
更多关于ASP.NET Core的文章请点这里] public class DeveloperExceptionPageMiddleware { public DeveloperExceptionPageMiddleware...二、显示编译异常信息 我们编写的ASP.NET Core应用会先编译成程序集,然后部署并启动执行,为什么运行过程中还会出现“编译异常”?...从ASP.NET Core应用层面来说,如果采用预编译模式,也就是说我们部署的不是源代码而是编译好的程序集,运行过程中根本就不存在编译异常的说法。...但是在一个ASP.NET Core MVC应用中,视图文件(.cshtml)是支持动态运行时编译(Runtime Compilation)的。...ASP.NET Core MVC应用,并注册了DeveloperException PageMiddleware中间件。
从编程的角度来看,一个MVC应用是由一系列Controller类型构建而成的,所以对于一个代表应用模型的ApplicationModel对象来说,它的核心就是Controllers属性返回的一组ControllerModel...,我们利用浏览器访问应用的主页,可以得到如图1所示的输出结果。...,我们利用浏览器访问应用的主页,可以得到如图2所示的输出结果。...图2 自定义IControllerModelConvention实现类型定制Controller模型 ASP.NET Core MVC应用模型的构建[1]: 应用的蓝图 ASP.NET Core MVC...应用模型的构建[2]: 应用模型 ASP.NET Core MVC应用模型的构建[3]: Controller模型 ASP.NET Core MVC应用模型的构建[4]: Action模型
领取专属 10元无门槛券
手把手带您无忧上云