9 热度

.net core gRPC与IdentityServer4集成认证授权

随着.net core3.0的正式发布,gRPC服务被集成到了VS2019。本文主要演示如何对gRPC的服务进行认证授权。分析目前.net core使用最广的认证授权组件是基于OAuth2.0协议的IdentityServer4。而gRPC可以与ASP.NET Core Authentication一起使用来实现认证授权功能。本文将创建3个应用程序来完成gRPC的认证授权演示过程。程序名称 | 类型 | 说明---|---|---Ids4.Server | webapi程序 | 提供基于OAuth2.0的认证授权服务Grpc.Server | grpc程序 | 提供gRPC服务的服务端Gr...

收录时间: 2019-10-22
分类: .NET Core
贡献者: Rector
16 热度

从零开始实现ASP.NET Core MVC的插件式开发(六) - 如何加载插件引用

从零开始实现ASP.NET Core MVC的插件式开发(一) - 使用Application Part动态加载控制器和视图从零开始实现ASP.NET Core MVC的插件式开发(二) - 如何创建项目模板从零开始实现ASP.NET Core MVC的插件式开发(三) - 如何在运行...

收录时间: 2019-10-22
分类: ASP.NET Core
贡献者: Rector
10 热度

.NET Core 3.0 ,WTM 2.3.9发布

.Net Core 3.0已经来了,WTM怎么可以落后呢。最新发布的WTM2.3.9版本已经支持.Net Core 3.0啦,现在在线生成项目的时候可以选择2.2和3.0两个版本。小伙伴们快来体验吧。    WTM 2.3.9另一个重大变化是增加了对多语言的支持,这也是为了WTM国际化做好准备。国外使用dotnet core的人还是很多的,WTM曾经至少有三次在GitHub总趋势榜上出现,但是我发现大量的国外用户满心欢心的点进来发现满屏的中文,他们就。。。走。。。了。。。   所以近期我们加大了国际化的力量,这次2.3.9已经把过去所有框架内部写死的中文改成了通过资源文件来支持多语言,下一步是...

收录时间: 2019-10-22
分类: .NET Core
贡献者: Rector
10 热度

AOP框架Dora.Interception 3.0 [2]: 实现原理

和所有的AOP框架一样,我们必须将正常的方法调用进行拦截,才能将应用到当前方法上的所有拦截器纳入当前调用链。Dora.Interception采用IL Eimit的方式实现对方法调用的拦截,接下来我们就来聊聊大致的实现原理。一、与依赖注入框架的无缝集成由于Dora.Interception是为.NET Core定制的AOP框架,而依赖注入是.NET Core基本的编程方式,所以Dora.Interception最初就是作为一个依赖注入框架的扩展而涉及的。我们知道.NET Core的依赖注入框架支持三种服务实例提供方式。由于Dora.Interception最终会利用IL Emit的方式动态生成...

收录时间: 2019-10-22
分类: .NET
贡献者: Rector
10 热度

.Net Core3.0使用gRPC

gRPC是什么gRPC是可以在任何环境中运行的现代开源高性能RPC框架。它可以通过可插拔的支持来有效地连接数据中心内和跨数据中心的服务,以实现负载平衡,跟踪,运行状况检查和身份验证。它也适用于分布式计算的最后一英里,以将设备,移动应用程序和浏览器连接到后端服务。proto文件用于定义gRPC服务和消息的协定;服务端和客户端共享proto文件。使用新模板创建gRPC服务端.NETcore 3.0创建项目提供了一个新的gRPC模板,可以轻松地使用ASP.NET Core构建gRPC服务。我们按照步骤一步一步创建AA.GrpcService 服务,当然你可以使用命令:dotnet new grpc ...

收录时间: 2019-10-22
分类: .NET Core
贡献者: Rector
10 热度

C#调用RabbitMQ实现消息队列

我在刚接触使用中间件的时候,发现,中间件的使用并不是最难的,反而是中间件的下载,安装,配置才是最难的。所以,这篇文章我们从头开始学习RabbitMq,真正的从头开始。关于消息队列其实消息队列没有那么神秘,我们这样想一下,用户访问网站,最终是要将数据以HTTP的协议的方式,通过网络传输到主机的某个端口上的。那么,接收数据的方式是什么呢?自然是端口监听啦。那消息队列是什么就很好解释了?它就是端口监听,接到数据后,将数据排列起来。那这件事,我们不用中间件能做吗?当然能做啦,写个TCP/UDP/Socket的软件就可以做啦。举个简单的例子,如下图:既然自己可以做消息队列,那为什么要用RabbitM...

收录时间: 2019-10-22
分类: C#开发
贡献者: Rector
AD 友情赞助
8 热度

Apollo 1.5.0 发布,开源分布式配置中心

Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。服务端基于 Spring Boot 和 Spring Cloud 开发,打包后可以直接运行,不需要额外安装 Tomcat 等应用容器。Java 客户端不依赖任何框架,能够运行于所有Java运行时环境,同时对 Spring/Spring Boot 环境也有额外支持。.Net 客户端不依赖任何框架,能够运行于所有...

收录时间: 2019-10-22
分类: 后端开发
贡献者: Rector
13 热度

[ASP.NET Core 3框架揭秘] 依赖注入:一个Mini版的依赖注入框架

在前面的章节中,我们从纯理论的角度对依赖注入进行了深入论述,我们接下来会对.NET Core依赖注入框架进行单独介绍。为了让读者朋友能够更好地理解.NET Core依赖注入框架的设计与实现,我们按照类似的原理创建了一个简易版本的依赖注入框架,也就是我们在前面多次提及的Cat。源代码下载普通服务的注册与消费泛型服务的注册与消费多服务实例的提供服务实例的生命周期一、编程体验虽然我们对这个名为Cat的依赖注入框架进行了最大限度的简化,但是与.NET Core框架内部使用的真实依赖注入框架相比,Cat不仅采用了一致的设计,而且几乎具备了后者所有的功能特性。为了让大家对Cat具有一个感官的认识,我们先来...

收录时间: 2019-10-21
分类: ASP.NET Core
贡献者: Rector
14 热度

从.NET CORE2.2升级到3.0过程及遇到的一些问题

RoadFlow工作流引擎从.NET Core2.2升级到3.0遇到了一些问题及解决方式这里记录一下。1、DLL项目框架从2.2选择到3.0,这个没什么好说的,没有问题。重点的WEB层的一些变化。 2、将ORM数据包升级到最新,MYSQL升级到8.0。   3、WEB项目中路由的不同Startup.cs中:2.2:    3.0:  4、SignalR的不同:2.2:    3.0统一加到的路由设置中:  5、3.0中输出都采用了异步,默认没有开启同步。也不建议开启,改代码采用异步输出。  6、这是遇到最大的坑,找了好久才找到原因。    这是不要设置,设置了一遇到Request.Form["...

收录时间: 2019-10-21
分类: .NET Core
贡献者: Rector
10 热度

asp.net core 使用 AccessControlHelper 控制访问权限

asp.net core 使用 AccessControlHelper 控制访问权限Intro由于项目需要,需要在基于 asp.net mvc 的 Web 项目框架中做权限的控制,于是才有了这个权限控制组件,最初只是支持 netframework,后来 dotnetcore 2.0 发布了之后添加了对 asp.net core 的支持,在 dotnetcore 3.0 发布之后也增加了对 asp.net core 3.0 的支持(1.9.0及之后版本),目前对于 asp.net core 支持的更多一些,asp.net core 可以使用 TagHelper 来控制页面上元素的权限访问,也可以...

收录时间: 2019-10-21
分类: ASP.NET Core
贡献者: Rector
27 热度

asp.net core 3.0 中使用 swagger

asp.net core 3.0 中使用 swaggerIntro上次更新了 asp.net core 3.0 简单的记录了一下 swagger 的使用,那个项目的 api 比较简单,都是匿名接口不涉及到认证以及 api 版本控制,最近把另外一个 api 项目升级到了 3.0,还是遇到了一些问题,这里单独写一篇文章介绍,避免踩坑...

收录时间: 2019-10-19
分类: ASP.NET Core
贡献者: Rector
16 热度

C#, Span and async

C# 7.2 introduced support for ref struct types. These are types that are required to live on the stack. The most notable ref struct types are Span and ReadOnlySpan which have made it possible to dramatically improve the efficiency of certain kinds of work by reducing or even eliminating object allocations.

收录时间: 2019-10-18
分类: C#开发
贡献者: Rector
29 热度

Telerik UI for Blazor 2.2.0—Virtual Scroll, Column Ordering

The latest release of Telerik UI for Blazor is here, with new capabilities for the grid, compatibility with the newest .NET Core Preview and more. Check out what's new.

收录时间: 2019-10-18
分类: Blazor
贡献者: Rector
25 热度

How to Configure Entity Framework Caching

The Entity Framework is a set of technologies in ADO.NET that support the development of data-oriented software applications. With the Entity Framework, developers can work at a higher level of abstraction when they deal with data and can create and maintain data-oriented applications with less code than in traditional applications...

收录时间: 2019-10-18
贡献者: Rector
25 热度

Roundup #57: Dapr, .NET Core API Porting, EF Core 3 NETStandard2, ASP.NET Core Best Practices

Roundup #57: Dapr, .NET Core API Porting, EF Core 3 NETStandard2, ASP.NET Core Best Practices

收录时间: 2019-10-18
分类: .NET Core
贡献者: Rector
AD 友情赞助
17 热度

Ubuntu 19.10“Eoan Ermine”正式发布

Canonical 今天正式发布了代号为 “Eoan Ermine” 的 Ubuntu 19.10,此版本带来了许多新功能,包括姗姗来迟的 ZFS 文件系统。ZFS 是一个可扩展的高级文件系统,它支持更好的数据压缩、写时复制、快照、数据完整性验证、自动修复等。在 Ubuntu 19.10 Linux 操作系统中,你可以选择使用 ZFS 文件系统。Ubuntu 19.10 的另一个重大变化是预装了带有安装 ISO 文件的 NVIDIA 驱动程序。对于一些游戏玩家和需要处理机器学习模型的开发人员来说,这些事情将变得更加容易。此外,19.10 基于 Linux 5.3 内核运行,它增加了对 AMD Navi GPU 的支持,还支持最新的 Raspberry Pi 4 ModelB。

收录时间: 2019-10-18
分类: 技术资讯
贡献者: Rector
23 热度

[ASP.NET Core 3框架揭秘] 依赖注入:依赖注入模式

IoC主要体现了这样一种设计思想:通过将一组通用流程的控制权从应用转移到框架之中以实现对流程的复用,并按照“好莱坞法则”实现应用程序的代码与框架之间的交互。我们可以采用若干设计模式以不同的方式实现IoC,比如我们在前面介绍的模板方法、工厂方法和抽象工厂,接下来我们介绍一种更有价值的IoC模式:依赖注入(DI:Dependency Injection)。一、由容器提供对象和前面介绍的工厂方法和抽象工厂模式一样,依赖注入是一种“对象提供型”的设计模式,在这里我们将提供的对象统称为“服务”、“服务对象”或者“服务实例”。在一个采用依赖注入的应用中,我们定义某个类型的时候,只需要直接将它依赖的服务采用...

收录时间: 2019-10-18
分类: ASP.NET Core
贡献者: Rector
15 热度

Uploading Files In Blazor

A few weeks ago, Steve Sanderson blogged about publishing a package for a prototype Blazor file input component, designed to make working with user-supplied files in Blazor applications a lot easier. Steve has provided some very clear examples demonstrating how to use the component in a number of scenarios. Missing, though, is an example showing how to make an HTTP request to upload a file to some back-end server from a Blazor WebAssembly application.

收录时间: 2019-10-18
分类: Blazor
贡献者: Rector
19 热度

Goodbye Javascript! Build an Authenticated Web App in C# with Blazor + ASP.NET Core 3.0

Curious what the experience would be like to trade in Javascript for C# on the front end? You are about to find out! For many years, Javascript (and it’s child frameworks) have had their run of the DOM(Document Object Model) in a browser, and it took having that scripting knowledge to really manipula...

收录时间: 2019-10-18
分类: Blazor
贡献者: Rector
20 热度

Mssql extension for Visual Studio Code now has Object Explorer and IntelliCode

Today we’re introducing a new release for the mssql extension for Visual Studio Codewhich is now available!The mssql extension for Visual Studio Code is the official SQL Server extension that supports connections to SQL Server and rich editing experience for T-SQL in your favorite developer tool, Vi...

收录时间: 2019-10-18
分类: Visual Studio
贡献者: Rector
AD 友情赞助