ASP.NET Core

Github上优秀的.NET Core项目

北战南征 提交于 2020-08-11 01:11:44
Github上优秀的.NET Core开源项目的集合。内容包括:库、工具、框架、模板引擎、身份认证、数据库、ORM框架、图片处理、文本处理、机器学习、日志、代码分析、教程等。 Github地址: https://github.com/jasonhua95/awesome-dotnet-core , 【awesome-dotnet-core】 其中的翻译有可能有问题,大家发现了及时提出来,其他的比较好的项目也可以提出来,我会及时添加修改上去的。 一般 ASP.NET Core Documentation - 官方ASP.NET核心文档站点。 .NET Core Documentation - .NET Core,C#,F#和Visual Basic技术文档的主页,包括基本概念,入门说明,教程和示例。 .NET Core SDK - .NET Core SDK是由Microsoft和.NET社区在 GitHub 上维护的通用开发平台。 .NET Platform Standard - 旧版本和新版本的.NET之间存在差异。 Introducing .NET Standard 2.0 - 介绍.NET Standard 2.0的内容和当前.NET标准中某些缺失部分的路线图。 .NET/.NET Core代码整洁 - 适用于.NET / .NET Core的代码整洁。 .NET

[译]使用DOT语言和GraphvizOnline来可视化你的ASP.NETCore3.0终结点01

主宰稳场 提交于 2020-08-11 00:01:19
这是系列文章中的第一篇:使用GraphvizOnline可视化ASP.NETCore3.0终结点。. 第1部分-使用DOT语言来可视化你的ASP.NETCore3.0终结点(本文) 第2部分-向ASP.NET Core应用程序添加终结点图 第3部分-使用ImpromptuInterface创建一个自定义的DfaGraphWriter,以便于反射 作者:依乐祝 原文: https://andrewlock.net/visualizing-asp-net-core-endpoints-using-graphvizonline-and-the-dot-language/ 译文: https://www.cnblogs.com/yilezhu/p/13301981.html 在这篇文章中,我将展示如何在ASP.NETCore3.0应用程序中使用 GraphvizOnline 服务。这使您可以创建如下所示的图表,这些图表描述了应用程序中的所有端点: 用GraphvizOnline和DOT语言绘制图形 GraphvizOnline 是一个GitHub上的 开源项目 ,它为 DOT图形描述语言 提供了一个在线可视化工具。这是一种简单的语言,它允许您定义各种类型的图形,它将节点与边连接起来。 例如,一个基本的 无向图 可以定义为 graph MyGraph { a -- b -- c; b --

Asp.net Core 3.1 Razor视图模版动态渲染PDF

独自空忆成欢 提交于 2020-08-10 17:43:04
Asp.net Core 3.1 Razor视图模版动态渲染PDF 前言 最近的线上项目受理回执接入了电子签章,老项目一直是html打印,但是接入的电子签章是仅仅对PDF电子签章,目前还没有Html电子签章或者其他格式文件的电子签章。首先我想到的是用一个js把前端的html转换PDF,再传回去服务器电子签章。但是这个样子就有一个bug,用户可以在浏览器删改html,这样电子签章的防删改功能就用不到,那么电子签章还有啥意义?所以PDF签章前还是不能给用户有接触的机会,不然用户就要偷偷干坏事了。于是这种背景下,本插件应运而生。我想到直接把Razor渲染成html,html再渲染成PDF。 该项目的优点在于,可以很轻松的把老旧项目的Razor转换成PDF文件,无需后台组装PDF,如果需要排版PDF,我们只需要修改CSS样式和Html代码即可做到。而且我们可以直接先写好Razor视图,做到动态半可视化设计,最后切换一下ActionResult。不必像以前需要在脑海里面设计PDF板式,并一次一次的重启启动调试去修改样式。 2.依赖项目 本插件 支持net45,net46,core的各个版本,(我目前仅仅使用net45和core 3.1.对于其他版本我还没实际应用,但是稍微调整都是支持的,那么简单来说就是支持net 45以上,现在演示的是使用Core3.1)。 依赖插件 Haukcode

在阿里云函数计算上部署.NET Core 3.1

。_饼干妹妹 提交于 2020-08-10 17:28:26
使用阿里云ECS或者其他常见的VPS服务部署应用的时候,需要手动配置环境,并且监测ECS的行为,做补丁之类的,搞得有点复杂。好在很多云厂商(阿里云、Azure等)提供了Serverless服务,借助于Serverless,开发人员可以更加专注于代码的开发,减少运维的成本。 Azure的部署直接集成在了VS中,非常方便,本文主要介绍一下使用ASP.NET CORE 3.1部署在阿里云Serverless(函数计算)的内容。 准备 阿里云的函数计算提供了很多运行库,对.NET的支持现在到ASP.NET CORE 2.1,如果我们需要自定义runtime,那么需要使用到函数计算的custom runtime功能。 首先准备好一个ASP.NET CORE 3.1程序,保证其可以正常运行(Release模式下能够正常工作)。然后做以下改动: 修改端口 阿里云函数计算自定义runtime使用的是固定的监听端口9000,因此,需要修改Program.cs文件 Copypublic static IWebHostBuilder CreateWebHostBuilder(string[] args) => WebHost.CreateDefaultBuilder(args) //指定监听9000端口 .UseUrls("http://*:9000") .UseStartup<Startup>();

【asp.net core 系列】2 控制器与路由的恩怨情仇

爱⌒轻易说出口 提交于 2020-08-10 12:13:30
0. 前言 在上一篇文章中,我们初步介绍了asp.net core,以及如何创建一个mvc项目。从这一篇开始,我将为大家展示asp.net core 的各种内容,并且尝试带领大家来挖掘其中的内在逻辑。 当然,那是以后的事情。这一篇将通过自定义一个控制器来为大家介绍asp.net core mvc 中控制器和路由的相关知识。 1. 控制器 先在Controllers目录下添加一个类,名叫: public class DemoController { public string Index() { return "你好"; } } 访问地址: http://localhost:5006/demo/index 如果不出意外的话,你应该能看到网页上的**"你好"**两个字。 再新建一个类: using Microsoft.AspNetCore.Mvc; public class NoContrl : Controller { public IActionResult Index() { return Content("Test"); } } 结合两个不常规的控制器类,让我们初窥asp.net core MVC是如何识别控制器的。这正是我之前说的,约定优于配置最好的体现。这个哲学最早也是为MVC提出来的,后来被.net framework引申到各个方面。 asp.net core

ASP.NET Core 中的响应缓存 / ResponseCache

一笑奈何 提交于 2020-08-10 09:42:07
前言:十年河东,十年河西,莫欺少年穷,学无止境,精益求精 本章将介绍客户端缓存将介绍浏览器缓存和服务端缓存,使用浏览器缓存将减少对web服务器的请求次数,同时可以提升性能,避免重复的运算浪费。 ASP.NET Core对于HTTP缓存分为两种: 客户端(浏览器缓存) 服务端缓存 客户端缓存 通过设置HTTP的响应头 Cache-Control 来完成页面存储到浏览器缓存中如下所示: 在老的版本的MVC里面,有一种可以缓存视图的特性(OutputCache),可以保持同一个参数的请求,在N段时间内,直接从mvc的缓存中读取,不去走视图的逻辑。 来源: oschina 链接: https://my.oschina.net/u/4406457/blog/4331087

介绍一个基于 .NET 的船新 PHP SDK + Runtime: PeachPie

强颜欢笑 提交于 2020-08-10 08:15:11
前言 这几天想基于 .NET Core 搞一个自己的博客网站,于是在网上搜刮各种博客引擎,找到了这些候选:Blogifier、Miniblog 以及 edi 写的 Moonglate。 Blogifier:这是前端是个 Angular SPA 应用,不利于 SEO,同时首屏加载速度慢,因此排除。 Miniblog:顾名思义 Mini,可以完美承载内容但是主题实在是过于简单,没有可自定义性,因此排除。 Moonglate:总体感觉不错,界面设计得也很好,功能全面,然而需要 SQL Server 作为数据库,然而 SQL Server 虽然有 Linux 版本,但受限于主机配置和预算因此也被排除。 难道就没有适合我需求的博客引擎了吗?答案当然是:有。 众所周知 PHP 是世界上最好的语言(滑稽),还是众所周知有一个叫做 WordPress 的博客引擎生态非常庞大,而且是使用 PHP 构建的。 可是 PHP 和 .NET 又有什么关系呢? PeachPie PeachPie 是一个完全构建于 .NET Standard 之上的一套完整的 PHP SDK + Runtime,包含编译器和运行时等等,兼容 PHP 5.4-7.4(当然部分功能仍在开发中)。 官网: https://www.peachpie.io 那么 PeachPie 有什么优点呢: 开源: https://github

Asp.Net Core EndPoint 终结点路由工作原理解读

喜夏-厌秋 提交于 2020-08-10 08:10:31
一、背景 在本打算写一篇关于 Identityserver4 的文章时候,却发现自己对 EndPoint -终结点路由还不是很了解,故暂时先放弃了 IdentityServer4 的研究和编写;所以才产生了今天这篇关于 EndPoint (终结点路由) 的文章。 还是跟往常一样,打开电脑使用强大的Google 和百度搜索引擎查阅相关资料,以及打开Asp.net core 3.1 的源代码进行拜读,同时终于在我的实践及测试中对 EndPoint 有了不一样的认识,说到这里更加敬佩微软对Asp.net core 3.x 的框架中管道模型的设计。 我先来提出以下几个问题: 当访问一个Web 应用地址时,Asp.Net Core 是怎么执行到 Controller 的 Action 的呢? EndPoint 跟普通路由又存在着什么样的关系? UseRouting() 、 UseAuthorization() 、 UserEndpoints() 这三个中间件的关系是什么呢? 怎么利用 EndPoint 终结者路由来拦截Action 的执行并且记录相关操作日志?(时间有限,下一篇文章再来分享整理) 二、拜读源码解惑 Startup 代码 我们先来看一下 Startup 中简化版的代码,代码如下: public void ConfigureServices(IServiceCollection

C#跨平台开源项目实战(WPF/Android/IOS/Blazor)

自闭症网瘾萝莉.ら 提交于 2020-08-10 07:21:32
个人介绍 由于本人从业WPF开发, 考虑到国内的WPF开发环境并不是很好, 资源少、项目案例少, 所以导致很多初学者就已经断了念头。 所以我作为WPF的从业者, 就在2019年,开始了发布自己的WPF相关的免费教学视频。发布开源的项目实践, WPF的基础视频、项目实践视频, 包括WPF UI设计视频。 同时我希望通过不断的网络传播, 博客园, 码云/Github发布资源, 可以让提供面向中国的WPF相关从业者, 提供一个参考、学习、以及灵感和创意。 项目起源 由于做的都是WPF相关工作,对XAML语言也是比较熟悉, 所以扩展了Xamarin移动端教程, 使得C#开发 安卓和IOS变成了可能, 包括目前C#使用Blazor来开发网页端, 所以发起了这个开源项目。 项目说明 该项目主要由一套C#代码, 构建多个平台的项目, 包括: Windows、Android、IOS、Web。后端采用Asp.net Core WebApi。 该项目主要应用于日常的一套记账应用为基础开发, 提供给用户在手机端操作一些账单信息, PC/Web端主要用于后台管理, 用于统计相关数据, 报表等功能, 该项目提供了基础的用户管理、部分管理、围绕展开的权限管理。 关于视频 关于所有的C#、WPF、Xamarin、Blazor等教学视频, 都在国内的各个视频平台公开: 今日头条, 西瓜视频, 抖音,

造轮子-AgileConfig基于.NetCore的一个轻量级配置中心

柔情痞子 提交于 2020-08-10 07:20:58
微服务确实是行业的一个趋势,我自己也在把一些项目往微服务架构迁移。玩微服务架构配置中心是一个绕不过去的东西,有很多大牌的可以选,比如spring-cloud-config,apoll,disconf等等。而我为什么还要造一个轮子呢?一来这些都不是.net实现的,我就想试试用.net core实现一个,而且他们也对.net不太友好,也只有apoll提供了官方的.net客户端。二来这些组件都太重量级了,比如apoll,光跑起来就要部署多个节点(admin,portal,meta sevice)还要依赖eureka。很多旧的项目往微服务迁移的时候并不是一下次全部调整完成的,可能是一步步来的,比如先把所有的服务都容器化,并没有使用微服务全家桶。而且有的项目也不需要微服务全家桶,毕竟微服务不是银弹,很多项目单体结构就足够了,有些项目传统的SOA架构也可以了。(唠叨一句,那种毫无流量毫无并发的项目,几人几天就搞完的强上微服务真的好吗?)但是这些项目也可能是分布式的,容器化部署的,那么这些项目我觉得也是需要配置中心的,因为在分布式、容器化环境下更改配置实在是太麻烦了。可以说配置中心并不是微服务独有的。基于以上原因我提炼了一些配置中心必备的功能,做的尽量简单(陋),开发了AgileConfig,为.net core的生态尽一份绵薄之力。 Github求star: AgileConfig