【.net core 14】教程文章相关的互联网学习教程文章

有关ASP.NETCoreRazor页面路由的详细介绍

这篇文章主要介绍了ASP.NET Core Razor 页面路由详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 在服务器端 Web 应用程序框架中,其中非常重要的设计是开发人员如何将URL与服务器上的资源进行匹配,以便正确的处理请求。最简单的方法是将 URL 映射到磁盘上的物理文件,在 Razor 页面框架中,ASP.NET团队就是这样实现的。关于 Razor 页面框架如何将 URL 与文件相匹配,有一些规则您必须了解,以...

Vue.js与 ASP.NET Core 服务端渲染功能整合【图】

http://mgyongyosi.com/2016/Vuejs-server-side-rendering-with-aspnet-core/ 原作者:Mihly Gyngysi 译者:oopsguy.com 我真的很喜欢在前端使用 Vue.js,Vue 服务端渲染直到第二个版本才被支持。 在本例中,我想展示如何将 Vue.js 服务端渲染功能整合 ASP.NET Core。 我们在服务端使用了 Microsoft.AspNetCore.SpaServices 包,该包提供 ASP.NET Core API,以便于我们可以使用上下文信息调用 Node.js 托管的 JavaScript 代码,并...

.NET Core 中的并发编程【图】

并发编程 - 异步 vs. 多线程代码并行编程是一个广泛的术语,我们应该通过观察异步方法和实际的多线程之间的差异展开探讨。 尽管 .NET Core 使用了任务来表达同样的概念,一个关键的差异是内部处理的不同。 调用线程在做其他事情时,异步方法在后台运行。这意味着这些方法是 I/O 密集型的,即他们大部分时间用于输入和输出操作,例如文件或网络访问。 只要有可能,使用异步 I/O 方法代替同步操作很有意义。相同的时间,调用线程可以...

ASP.Net Core中使用枚举类而不是枚举的方法【图】

前言: 我相信大家在编写代码时经常会遇到各种状态值,而且为了避免硬编码和代码中出现魔法数,通常我们都会定义一个枚举,来表示各种状态值,直到我看到Java中这样使用枚举,我再想C# 中可不可以这样写,今天就分享一下我的感悟。 一、通常我们是这样使用枚举的 (1)switch中使用枚举public enum EmployeeType{Manager,Servant,AssistantToTheRegionalManager} public class Employee{public EmployeeType Type { get; set; }pub...

Asp.net core利用MediatR进程内发布/订阅详解【图】

1、背景 最近,一个工作了一个月的同事离职了,所做的东西怼了过来。一看代码,惨不忍睹,一个方法六七百行,啥也不说了吧,实在没法儿说。介绍下业务场景吧,一个公共操作A,业务中各个地方都会做A操作,正常人正常思维应该是把A操作提取出来封装,其他地方调用,可这哥们儿偏偏不这么干,代码到处复制。仔细分析了整个业务之后,发现是一个典型的事件/消息驱动型,或者叫发布/订阅型的业务逻辑。鉴于系统是单体的,所以想到利用进...

asp.net core集成JWT的步骤记录【图】

【什么是JWT】 JSON Web Token(JWT)是目前最流行的跨域身份验证解决方案。 JWT的官网地址:https://jwt.io/ 通俗地来讲,JWT是能代表用户身份的令牌,可以使用JWT令牌在api接口中校验用户的身份以确认用户是否有访问api的权限。 JWT中包含了身份认证必须的参数以及用户自定义的参数,JWT可以使用秘密(使用HMAC算法)或使用RSA或ECDSA的公钥/私钥对进行签名。 【什么时候应该使用JSON Web令牌?】 授权:这是使用JWT的最常见方案...

aspnetcore 实现简单的伪静态化功能【图】

Intro 在我的活动室预约项目中,有一个公告模块,类似于新闻发布,个人感觉像新闻这种网页基本就是发布的时候编辑一次之后就再也不会改了,最适合静态化了, 静态化之后用户请求的就是静态文件基本不再需要服务器端查询数据库甚至服务器端渲染,可以一定程度上提升服务器的处理能力以及优化用户体验,而且这种静态化的url对 SEO 比较友好。 由于我的这个项目正在开发中,迁移起来不太方便,所以使用的是伪静态化,看上去是访问的 *...

.NET Core 3.0中WPF使用IOC的图文教程【图】

前言 我们都知道.NET Core 3.0已经发布了第六个预览版,我们也知道.NET Core 3.0现在已经支持创建WPF项目了,刚好今天在写一个代码生成器的客户端的时候用到了WPF,所以就把WPF创建以及使用IOC的过程记录一下,希望能对大家有所帮助。当然文章实例我就以我曾阅读过的一篇文章的示例代码来进行演示了。 步骤1、通过命令行创建wpf项目,当然你也可以通过vs2019来进行创建。具体的步骤就不演示了,当然,如果你还不会用vs2019创建项目...

使用.NET Core实现饿了吗拆红包功能【图】

需求说明 以前很讨厌点外卖的我,最近中午经常点外卖,因为确实很方便,提前点好餐,算准时间,就可以在下班的时候吃上饭,然后省下的那些时间就可以在中午的时候多休息一下了。 点餐结束后,会有一个好友分享红包功能,虽说这个红包不能提现,但却可以抵扣点餐费用,对于经常点餐的人来说,直接用于抵扣现金确实是很大的诱惑,在点餐之后所获得的那个红包,必须要分享出去才能拆。 那么如果自己也想实现以下抢红包功能,需要说明的...

ASP.NET Core 中的模型绑定操作详解【图】

ASP.Net Core的模型绑定是一个非常有用的功能。一般我们控制器处理Http请求的数据,是通过路由数据提供一个记录键,然后发布的表单域为模型提供一个值,这个过程很繁琐,并且容易出错。而模型绑定会自动化该过程,减少出错的概率。本文介绍下模型绑定中常用的一些操作指南。 [BindProperty] 、[BindProperties]属性.第一个属性是用于控制器或 PageModel 类的公共属性,从而使模型绑定以该属性为目标;第二个属性是.Net 2.1及以上版...

如何给asp.net core写个中间件记录接口耗时【图】

Intro写接口的难免会遇到别人说接口比较慢,到底慢多少,一个接口服务器处理究竟花了多长时间,如果能有具体的数字来记录每个接口耗时多少,别人再说接口慢的时候看一下接口耗时统计,如果几毫秒就处理完了,对不起这锅我不背。 中间件实现asp.net core 的运行是一个又一个的中间件来完成的,因此我们只需要定义自己的中间件,记录请求开始处理前的时间和处理结束后的时间,这里的中间件把请求的耗时输出到日志里了,你也可以根据需...

Linux服务器下利用Docker部署.net Core项目的全过程【图】

发布ASP.NET Core项目和普通的项目发布一样,将项目发布到目标文件夹中 构建Dockerfile文件在目标文件根目录新建Dockerfile文件(没有后缀) FROM microsoft/dotnet//基于microsoft/dotnet 来构建镜像 COPY . /app //拷贝项目文件夹中的所有文件到docker容器中的app文件夹 这里是两个参数 WORKDIR /app //设置工作目录为 /app 文件夹,即容器启动默认的文件夹 EXPOSE 80 //设置Docker容器对外暴露80端口 CMD ["dotnet", "Core.Web....

ASP.NET Core中如何利用Csp标头对抗Xss攻击【图】

内容安全策略(CSP)是一个增加的安全层,可帮助检测和缓解某些类型的攻击,包括跨站点脚本(XSS)和数据注入攻击。这些攻击用于从数据窃取到站点破坏或恶意软件分发的所有内容(深入CSP)简而言之,CSP是网页控制允许加载哪些资源的一种方式。例如,页面可以显式声明允许从中加载JavaScript,CSS和图像资源。这有助于防止跨站点脚本(XSS)攻击等问题。 它也可用于限制协议,例如限制通过HTTPS加载的内容。CSP通过 Content-Securi...

.NET Core源码解析配置文件及依赖注入【图】

写在前面 上篇文章我给大家讲解了ASP.NET Core的概念及为什么使用它,接着带着你一步一步的配置了.NET Core的开发环境并创建了一个ASP.NET Core的mvc项目,同时又通过一个实战教你如何在页面显示一个Content的列表。不知道你有没有跟着敲下代码,千万不要做眼高手低的人哦。 这篇文章我们就会设计一些复杂的概念了,因为要对ASP.NET Core的启动及运行原理、配置文件的加载过程进行分析,依赖注入,控制反转等概念的讲解等。 俗话说...

.NET Core实现分表分库、读写分离的通用 Repository功能

首先声明这篇文章不是标题党,我说的这个类库是 FreeSql.Repository,它作为扩展库现实了通用仓储层功能,接口规范参考 abp vnext 定义,实现了基础的仓储层(CURD)。 安装dotnet add package FreeSql.Repository可用于:.net framework 4.6+、.net core 2.1+ 定义 var fsql = new FreeSql.FreeSqlBuilder().UseConnectionString(FreeSql.DataType.Sqlite, @"Data Source=|DataDirectory|\document.db;Pooling=true;Max Pool Size...