ASP.NET Core
文章平均质量分 95
收录整理.Net Core、EF Core相关知识。
Cool2Feel
横向学习,纵向思考
展开
-
ASP.NET Core 中的中介器设计模式
在面向对象编程 (OOP) 中,程序通常由许多类组成。开发人员在这些类之间分发业务逻辑和应用程序功能。我们拥有的类越多,这些类之间需要的通信就越多,有时这会增加应用程序的复杂性。程序变得更难阅读和维护,因为任何更改都可能影响其他几个依赖类中的代码。为了解决这个问题,我们通常使用一种称为中介者设计模式的设计模式。在这篇文章中,我将通过一些实际示例深入介绍中介模式。我还将向您展示如何自己或使用非常著名的 MediatR 库来实现 Mediator 模式。下载:Download Source Code什..翻译 2021-07-23 16:54:13 · 234 阅读 · 0 评论 -
ASP.NET Core Razor 页面开发人员指南
如果您一直在使用 ASP.NET MVC 开发 Web 应用程序,那么您会同意我的观点,要创建一个简单的页面,您必须创建一个控制器类、一个操作方法、一个模型类、一个 Razor 视图以及可选的自定义路由和所有这些对于一个简单的页面来说似乎太过仪式了。更糟糕的是,您通常会在 Controllers 文件夹中创建一个 Controller 类,在 Models 文件夹中创建一个 Model 对象,在 Views 文件夹中创建一个 Razor 视图,并且您需要在 Visual Studio 解决方案资源管理器..翻译 2021-07-23 09:39:13 · 652 阅读 · 0 评论 -
如何在 ASP.NET Core 中使用第三方 Web API
在现代 Web 应用程序中,调用第三方 Web API 来增强应用程序的功能是很常见的。有数以千计的免费和商业 API 可用,如果您知道如何在 ASP.NET Core 应用程序中使用这些 API,您就可以构建非常强大的业务应用程序。在这篇文章中,我将解释如何在 ASP.NET Core 应用程序中使用第三方 Web API。下载:Download Source Code...翻译 2021-07-22 20:42:10 · 2256 阅读 · 0 评论 -
在 ASP.NET Core 中使用包和库
如果您想开发一个现代 Web 应用程序,您很快就会意识到您无法自己编写所有内容。您将依赖一些第三方客户端和服务器端库和组件来提高开发速度。如今,开发人员可以使用许多在线代码存储库和资源,下载和跟踪所有第三方包可能是一项痛苦的任务。幸运的是,开发人员现在有许多不同的工具和扩展可供他们使用,这可以使这项任务变得更加容易。在本教程中,我将演示如何使用 Node Package Manager (npm)、Library Manager (LibMan) 和 Nuget 等工具来下载和管理 ASP.NET Co..翻译 2021-07-22 20:11:13 · 614 阅读 · 0 评论 -
ASP.NET Core 中间件介绍
ASP.NET Core 引入了许多新概念,开发人员需要学习这些新概念来开发基于 Web 的现代应用程序。其中一个概念是“中间件”,它允许开发人员在 Web 请求和响应处理期间运行一系列组件(又名中间件)。在本教程中,我将概述 ASP.NET Core 中间件。我们还将学习如何使用 ASP.NET Core 中提供的一些内置中间件构建请求/响应管道。ASP.NET Core 中间件什么是中间件?配置中间件管道中间件处理顺序使用 ASP.NET Core 内置中间件总结概括什么是中间件?中间件是处..翻译 2021-07-22 19:03:37 · 2060 阅读 · 0 评论 -
在 ASP.NET Core 3.1 中创建视图组件
ASP.NET Core 是一个跨平台、高性能、开源的框架,用于构建现代 Web、云和基于 Internet 的应用程序。我们还可以在 Windows、macOS 和 Linux 上使用我们最喜欢的开发工具开发 Web API、移动应用程序和客户端站点单页应用程序。 Microsoft 在 ASP.NET Core 1.0 到 3.1 版本中引入了许多新功能,例如 Razor Pages、Blazor 等。在本文中,我将向您介绍 ASP.NET Core 新引入的一项功能,称为 View Compone..翻译 2021-07-22 14:39:14 · 479 阅读 · 0 评论 -
ASP.NET Core 配置分步指南
如果您不熟悉 ASP.NET Core 开发,您会注意到的前几件事之一是旧的 web.config 或 app.config 文件在 ASP.NET Core 项目中不再可用。 ASP.NET Core 中的配置是使用一个或多个配置提供程序执行的。有配置提供程序可以从几乎任何地方读取配置,例如文件,例如JSON、INI 或 XML、环境变量、Azure 密钥保管库、命令行参数等以及更多来源。本教程是分步指南,向您展示如何在各种文件(如 JSON、INI 或 XML)中配置应用程序设置,以及如何从应用程序..翻译 2021-07-22 11:12:16 · 398 阅读 · 0 评论 -
ASP.NET Core 依赖注入分步指南
面向对象编程是关于类和对象的,为了构建复杂的软件,我们必须创建大量的对象来完成工作。如果您不遵循任何设计模式来控制这些对象的创建和生命周期,那么您很容易陷入一团糟,其中软件中的一个小更改或一个新需求可能会迫使您在整个应用程序中更改大量代码.有许多软件设计模式和原则可以帮助我们编写更灵活、易于管理和易于测试的软件。在本教程中,我将尝试介绍一种称为依赖注入的设计模式,它也是 ASP.NET Core 中的一等公民。我将尝试在一些真实示例的帮助下解释所有内容,以便您可以轻松掌握概念并自信地开始在您的项目中使用..翻译 2021-07-22 09:41:51 · 625 阅读 · 1 评论 -
Blazor 单向绑定
目前,我们在页面内部显示了一个组件,但是内容是静态的。我们真正想要的是能够动态输出内容。如果我们更改/Components/MyFirstComponent.razor的内容,我们可以引入一个私有成员,并使用@符号输出该成员的值。 <div> CurrentCounterValue in MyFirstComponent is @CurrentCounterValue </div> @code { private int Curren原创 2020-10-28 18:58:03 · 389 阅读 · 0 评论 -
Blazor 创建一个组件
在客户端应用程序中,创建一个名为Components的新文件夹。这不是一个特殊的名称,我们可以选择任何希望的名称。创建新的Components文件夹后,在其中创建一个名为MyFirstComponent.razor的文件,然后输入以下标记。 <div> <h2>This is my first component</h2> </div>现在编辑Index.razor文件。此时,我们可以使用完全限定的名称来引用该组件:&l原创 2020-10-28 18:50:37 · 410 阅读 · 0 评论 -
Blazor组件概述
所有渲染的Blazor视图均来自ComponentBase类,其中包括Layouts,Pages和Components。Blazor页面本质上是具有@page指令的组件,该指令指定浏览器必须导航到的URL,以便呈现该URL。实际上,如果我们比较组件和页面的生成代码,则几乎没有什么不同。可以在Counter.razor.g.cs中的obj \ Debug \ netcoreapp3.0 \ Razor \ Pages文件夹中找到以下生成的源代码。 namespace MyFirstBlazorA.翻译 2020-10-28 18:47:11 · 798 阅读 · 0 评论 -
Blazor 嵌套布局
指定@layout(显式或通过_Imports.razor文件)时,Blazor将使用LayoutAttribute装饰生成的目标类。 [Microsoft.AspNetCore.Components.LayoutAttribute(typeof(MainLayout))] public class AdminUsers : Microsoft.AspNetCore.Components.ComponentBase { }注意:生成的.cs文件可以在项目的obj \ D翻译 2020-10-24 15:27:46 · 734 阅读 · 0 评论 -
Blazor使用布局
指定应用程序的默认布局指定布局的最通用方法是编辑**/Pages/_Imports.razor**文件,然后编辑单行代码以标识其他布局。@layout MainLayout布局的名称是强类型的。 Blazor仅在存在具有指定名称的布局的情况下才正确语法突出显示代码,如果标识符不正确,则编译器也会失败。注意:显然,如果您只想更改现有布局的外观,则可以更改**/Shared/MainLayout.razor**文件。为应用程序区域指定默认模板如果您的应用程序具有单独的区域,例如“管理员”区域,翻译 2020-10-24 15:18:37 · 903 阅读 · 0 评论 -
创建Blazor布局
对应打算用作页面布局模板的任何内容都必须来自LayoutComponentBase类。为了表明您希望页面内容出现的位置,您只需输出Body属性的内容。 @inherits LayoutComponentBase <div class="main"> <header> <h1>This is the header</h1> </header> <div class="conte原创 2020-10-24 14:43:54 · 268 阅读 · 0 评论 -
Blazor布局(Layouts)
Blazor布局类似于母版页的ASP Webforms概念,并且与ASP MVC中的Razor布局相同。Web上几乎每个网站都有一个模板,该模板可在整个网站(页面顶部的品牌,底部的版权)或网站的特定子部分(例如管理员的特定菜单结构)中使用网站页面)。这是通过创建一个用作当前页面内容周围的HTML包装程序的视图来实现的,该模板包含一个占位符,用于指示应在其中显示所包装页面内容的位置。 <h1>This is the start of my reusable layout</h1&原创 2020-10-24 14:31:09 · 912 阅读 · 0 评论 -
Blazor 项目安装创建步骤
1.安装 Blazor环境Blazor服务器端和WebAssembly现在都作为.NET Core 3.2.0的一部分提供。现在,安装Blazor就像安装Visual Studio版本16.6或更高版本一样简单!您可以通过以下链接下载最新版本的Visual Studio。安装时,请确保在“工作负载”选项卡下选择选项ASP.NET和Web开发。2.创建一个新项目打开Visual Studio预览。单击创建一个新项目。选择Blazor应用。点击下一步。输入项目名称,例如MyFirstBla原创 2020-10-24 14:27:50 · 1192 阅读 · 0 评论 -
Blazor托管模型
Blazor当前具有两种托管模型,服务器端Blazor和Web Assembly。服务器端托管于2019年9月发布,Web Assembly于2020年5月正式发布。Blazor Web Assembly优点Web Assembly在浏览器内部的客户端上运行,因此可以将其部署为静态文件。尽管如此,由于浏览器安全限制,Blazor Wasm应用程序将无法直接从本地文件系统运行。Blazor Wasm可以离线工作。当与服务器的网络连接断开时,客户端应用可以继续运行(显然,它无法与服务器通信以检索新数据原创 2020-10-24 14:09:46 · 480 阅读 · 0 评论 -
什么是WebAssembly?
WebAssembly(缩写为“ Wasm”)是一种指令集,旨在在能够解释这些指令或将其编译为本地机器代码并执行它们的任何主机上运行。Wasm是以特定二进制格式格式化的指令集。因此,符合此规范的任何主机(硬件或软件)都可以读取二进制文件并执行二进制文件(通过解释或直接编译为设备专用的机器语言)。Wasm类似于.NET源代码编译到的通用指令集(通用中间语言)。就像.NET一样,Wasm可以从C#等高级语言生成。Blazor不需要在客户端上安装.NET即可通过WebAssembly运行。支持的浏览器原创 2020-10-24 11:50:10 · 831 阅读 · 0 评论 -
什么是Blazor?
Blazor是单页应用程序开发框架。 Blazor名称是Browser和Razor(.NETHTML视图生成引擎)一词的组合/突变。含义是Blazor不必在服务器上执行Razor视图才能将HTML呈现给浏览器,而是能够在客户端上执行这些视图。Blazor还支持在服务器上执行SPA。Blazor的不同Blazor与Silverlight不同,后者是Microsoft以前托管浏览器内应用程序的尝试。 Silverlight需要一个浏览器插件才能在客户端上运行,这使其无法在iOS设备上运行。Bla.原创 2020-10-24 11:45:40 · 4274 阅读 · 0 评论 -
详解【控制反转】和【依赖注入】
IOC: Inversion Of Control 控制反转DI: Dependency Injection 依赖注入1.控制反转 Inversion Of Control 的前世今生1.1 IOC理论产生的背景讨论控制反转之前,先看看软件系统提出控制反转的前世今生。一个完整精密的软件系统,组件之间就像齿轮,协同工作,相互耦合。一个零件不正常,整个系统就崩溃了。系统对象之间耦合关系无法避免,在项目规模和复杂度变大的情况下,管理类之间的依赖关系将会很复杂。对象之间耦合度很高的系统,架构.转载 2020-10-21 11:01:14 · 421 阅读 · 0 评论 -
.NETCore :正则表达式
本节内容为正则表达式的使用简介有的时候,你是否有过这种需求:判断一个Ip地址、邮箱、密码规则是否合法。如果让你使用if一类的传统方法进行处理,你肯定会被逼疯的。而对于绝大多数的编程语言而言,都有一个字符串处理利器————正则表达式。它可以轻松的让字符串和规则匹配上。有点这样的意思,从前你是判断字符串,去遍历它,而有了正则表达式,你是在书写一个通用性质的规则,让字符串与规则进行匹配。正则表达式本质上就是一串蕴含了一些特殊字符规则的字符串,因此我们书写正则表达式其实是在书写一个字符串,只是它代表了一定.原创 2020-08-06 16:16:56 · 1450 阅读 · 0 评论 -
.NETCore : Linq简介
本节内容为Linq及其拓展方法、Linq中表达式树的使用简介语言集成查询(LINQ)是一系列直接将查询功能集成到C#语言的技术统称。数据查询历来都表示为简单的字符串,没有编译时类型检查或IntelliSense支持。此外,需要针对每种类型的数据源了解不同的查询语言:SQL数据库、XML文档、各种Web服务等。借助LINQ,查询成为了最高级的语言构造,就像类、方法和事件一样。可以使用语言关键字和熟悉的运算符针对强类型化对象集合编写查询。LINQ系列技术提供了针对对象(LINQtoObjects)、关.原创 2020-08-06 11:26:50 · 844 阅读 · 0 评论 -
.NET Core List,ArrayList和Dictionary
本节内容为List,ArrayList,和Dictionary简介在此前的文章中我们学习了数组的使用,但是数组有一个很大的问题就是存储空间不足,我们通常的解决方法就是定义一个绝对够用的数组,这通常很大,但是这样就造成了内存的损失。我们总是希望有一个根据需求动态更变的数组进行存储。这一篇我们会详细的讲解List。同时,有时候我们希望数组不单单的存储我们的数据。例如我希望有那么一些数据:某人的成绩单如下:语文 80分数学 90分英语 87分对于这些数据,我们使用数组并不能很好的反馈这些.原创 2020-08-06 10:15:15 · 924 阅读 · 0 评论 -
.NET Core 装箱与拆箱
本节内容为装箱与拆箱简介装箱和拆箱是一个相对抽象的概念。你可以想象一下一堆满载货物的大卡车,他是由许多工人将货物集中堆放装入的,对于我们而言在没有打开货箱的时候,我们可以知道这是一辆运货的卡车,里面有着许多货物,但是具体货物是什么,我们只有打开后才能知道,并且对于货箱而言,它可以存放任意体积小于自身的货物,也就是说货箱具有通配性。事实上在C#中也是这样,装箱就是将具有实际数据的变量(值类型)打包成一个引用类型(Object),而我们货物到货箱的变化,就是我们本节所需要谈论的装箱与拆箱。利用装箱和拆.原创 2020-08-05 14:58:03 · 256 阅读 · 0 评论 -
.NET Core 泛型、逆变与协变
本节内容为泛型为什么需要泛型泛型是一个非常有趣的东西,他的出现对于减少代码复用率有了很大的帮助。比如说遇到两个模块的功能非常相似,只是一个是处理int数据,另一个是处理string数据,或者其他自定义的数据类型,但我们没有办法,只能分别写多个方法处理每个数据类型,因为方法的参数类型不同。有没有一种办法,在方法中传入通用的数据类型,这样不就可以合并代码了吗?泛型简介在我们的C#中,使用泛型对允许您延迟编写类或方法中的编程元素的数据类型的规范,直到实际在程序中使用它的时候。换句话说,泛型允许您编.原创 2020-08-05 14:30:19 · 743 阅读 · 0 评论 -
.NET Core 类的生命周期
本节内容为类的生命周期引言对象究竟是一个什么东西?对于许多初学者而言,对象都是一个非常抽象的知识点。如果非要用一句话描述,我觉得“万物皆对象”是对于对象最全面的概述了。本节内容中,我们将以在富土康打工的张全蛋组装一台水果手机作为例子,详细的讲解面向对象的各个方面。对象类的构造“张全蛋,你去水果公司,把他们的组装零件需求清单带过来~,并且还要带上组装的技术说明书。”车间主任吆喝着叫张全蛋办事。张全蛋前往了水果公司,如愿以偿的拿到了他想要的东西,组装零件清单上写着:amoled屏幕*1电池.原创 2020-08-05 14:23:19 · 1001 阅读 · 0 评论 -
.NET Core 类的多态与继承
本节内容为类的多态与继承简介终于讲到了面向对象三大特性中的两大特性——继承与多态。通过继承与多态,我们能很好的将类的拓展性发挥到了极致。在下面的内容讲解中,我们将从各个方面对继承和多态进行刨析。继承继承事实上是一个非常好理解的语法,在C#中实现继承使用A:B,表示A类继承B类。子类(一称为派生类)继承于父类(一称为基类)就好比孩子继承了父亲的一切,但是孩子总归是有自己的个性的,而父亲也有一些不会告诉孩子的事情。如果我们从之前的访问控制符这一部分进行理解的话,你可以这样描述这个“融洽”的父子关系.原创 2020-08-05 14:15:47 · 682 阅读 · 0 评论 -
.NET Core 接口、枚举、抽象
本节内容类的接口、枚举、抽象简介问题如果你需要表示星期或者是某些状态,使用字符串或者数字是否不直观?你是否发现,无论何种电脑,它的USB口的设计都是遵循一定规范的?枚举枚举(enum)是一个非常好用的一个特殊值类型,他可以让你指定一系列字符常量(通常从0开始)。它的定义和使用如下:public enum Week{ Monday, ...//此处省略 Sunday = 6//可赋值}bool flag = (6 == (int)Week.Sunday).原创 2020-08-05 14:10:11 · 609 阅读 · 0 评论 -
.NET Core this、索引器、静态、常量
本节内容为this、索引器、静态、常量以及只读简介在之前的文章中,我们谈论过了静态函数和字段的一小部分知识,本节内容中,我们将详细的讲解关于对象操作的例子,以及更加深入的解释面向对象。常量常量,顾名思义,就是一直为同一个值的变量,并且值不可以被改变。在C#中,定义一个常量需要使用const关键字声明。常量并不占用内存的空间。在C#程序编译的时候,编译器会把任何使用了该常量替换成这个值。因为常量并不存储在内存中,因此常量只允许使用内置的数值类型,例如:bool、char、string、enum.原创 2020-08-05 11:36:42 · 458 阅读 · 0 评论 -
.NET Core 面向对象
本节内容为面向对象初级教程类简介面向对象是整个C#中最核心最有特色的一个模块了,它很好的诠释了程序与现实世界的联系。面向对象的三大特征:继承、多态、封装;继承的含义可以理解为集合中的包含关系,例如人类属于动物类的一个分支,这就是一种继承。多态的理解就可以是人的呼吸用肺,鲤鱼使用鳃,这就是一种同种操作对应不同的实现。封装可以理解为一堆零件可以组成一个手机,这个过程就叫做封装。而将电脑显卡等拆下来组装成另一台电脑,则属于类的拆箱装箱。封装一个类的好处在哪里呢?我举一个例子:首先,我们考察一个常见.原创 2020-08-05 11:13:37 · 209 阅读 · 0 评论 -
.NET Core 循环与判断
本节内容循环与判断循环循环是一个在任何语言都是极为重要的语法,它可以用于很多东西,例如迭代数组等等。在C#中,语法层面的循环有:for , foreach ,while,do goto五种。循环你可以理解为当某条件满足时,重复的执行一段代码。接下来我们开始讲讲这五种循环的使用方法及优缺点。for 循环for循环for循环可以说是最为常用的循环方式了,for循环时由以下部分组成:起始条件循环条件状态改变方式这是大多数语言for循环的组成,例如以下例子for(int i =0;i&l.转载 2020-08-05 10:55:17 · 769 阅读 · 0 评论 -
.NET Core 基础类型介绍
本节内容循环与判断循环循环是一个在任何语言都是极为重要的语法,它可以用于很多东西,例如迭代数组等等。在C#中,语法层面的循环有:for , foreach ,while,do goto五种。循环你可以理解为当某条件满足时,重复的执行一段代码。接下来我们开始讲讲这五种循环的使用方法及优缺点。for 循环for循环for循环可以说是最为常用的循环方式了,for循环时由以下部分组成:起始条件循环条件状态改变方式这是大多数语言for循环的组成,例如以下例子for(int i =0;i&l.转载 2020-08-05 10:51:05 · 621 阅读 · 0 评论