前言:在本文中,我将聊聊在ASP.NET Core 3.0中细小的变化——启动时记录消息的方式进行小的更改. 现在,ASP.NET Core不再将消息直接记录到控制台,而是正确使用了logging 基础结构,来生成结构化日志. 翻译: Andrew Lock   https://andrewlock.net/new-in-aspnetcore-3-structured-logging-for-startup-messages/ 探索ASP.NET Core 3.0系列一:新的项目文件.Progr…
前言:在本文中,我将介绍如何在通用主机之上重新构建ASP.NET Core 3.0,以及由此带来的一些好处. 同时也展示了3.0中引入新的抽象类IHostLifetime,并描述了它在管理应用程序(尤其是worker services)的生命周期中的作用.在文章的后半部分,我会详细介绍类之间的交互及其在应用程序启动和关闭期间的角色. 同时也会详细介绍通常不需要我们处理的事情,即使不需要关心,但是它对于我们理解其原理也很有用! 翻译:Andrew Lock   https://andrewlock…
在.NET生态圈中,最早被广泛使用的日志库可能是派生自Java世界里的Apache log4net.而其后来者,莫过于NLog.Nlog与log4net相比,有一项较显著的优势,它支持结构化日志. 结构化日志,也被称为语义化日志.其作用有二,利于查询与方便分析. 当系统上线被广泛使用或者时间久远之后,日志的大量出现不可避免.且日志本身作为一种数据,也有其重要的价值.因此,如何有效地对其进行查询以及最大价值化地分析处理便成了一个重要的问题. 非结构化日志 对于日志的处理,需要权衡对开发者的友好性与…
学习ASP.NET Core Blazor编程系列一--综述 学习ASP.NET Core Blazor编程系列二--第一个Blazor应用程序(上) 学习ASP.NET Core Blazor编程系列二--第一个Blazor应用程序(中) 学习ASP.NET Core Blazor编程系列二--第一个Blazor应用程序(下) 学习ASP.NET Core Blazor编程系列二--第一个Blazor应用程序(完) 学习ASP.NET Core Blazor编程系列三--实体 学习ASP.NE…
学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET Core Razor 编程系列三——创建数据表及创建项目基本页面 学习ASP.NET Core Razor 编程系列四——Asp.Net Core Razor列表模板页面 学习ASP.NET Core Razor 编程系列五——Asp.Net Core Razor新建模板页面 Asp.net Cor…
C#中的函数式编程:递归与纯函数(二)   在序言中,我们提到函数式编程的两大特征:无副作用.函数是第一公民.现在,我们先来深入第一个特征:无副作用. 无副作用是通过引用透明(Referential transparency)来定义的.如果一个表达式满足将它替换成它的值,而程序的行为不变,则称这个表达式是引用透明的. 现在,我们不妨进行一个尝试:我们来实现一些函数,但是这次有一个限制:只能用无副作用的表达式. 先以素数判定为例子,我们要写一个函数bool IsPrime(int n),它返回这个…
学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET Core Razor 编程系列三——创建数据表及创建项目基本页面 学习ASP.NET Core Razor 编程系列四——Asp.Net Core Razor列表模板页面 上一篇文章中我们学习了列表页面的结构,@page与@model两个关键Razor指令,以及页面布局应该修改哪里.这一篇文章我们来…
原文:[渣译文] SignalR 2.0 系列: 开始使用SignalR 2.0 英文渣水平,大伙凑合着看吧…… 这是微软官方SignalR 2.0教程Getting Started with ASP.NET SignalR 2.0系列的翻译,这里是第四篇:开始使用SignalR 2.0 原文:Getting Started with SignalR 2.0 PS.前面的那篇从SignalR1.0升级为2.0跳过了……只有几步,有兴趣的同学可以自己去看. 概述 本教程展示了如何使用SignalR…
Atitit 发帖机系列(8)  词法分析器v5 版本新特性说明) v5  增加对sql单引号的内部支持.可以作为string 结构调整,使用递归法重构循环发..放弃循环发. V4 java dsl词法分析 使用循环 V3 sql的词法分析 atitit..sql update语法的词法分析,与语法ast构建 - V1版   anno 解析器 基于fsm设计模式 V2 Atitit.antlr实现词法分析 - attilax /AtiPlatf_ee/src/com/attilax/fsm/Ja…
学习ASP.NET Core Blazor编程系列一--综述 学习ASP.NET Core Blazor编程系列二--第一个Blazor应用程序(上) 学习ASP.NET Core Blazor编程系列二--第一个Blazor应用程序(中) 学习ASP.NET Core Blazor编程系列二--第一个Blazor应用程序(下) 学习ASP.NET Core Blazor编程系列二--第一个Blazor应用程序(完) 学习ASP.NET Core Blazor编程系列三--实体 学习ASP.NE…