Admin.NET源码学习(4:基于Furion的后台服务启动方式浅析)

news2024/11/13 10:01:10

  Admin.NET为前后端分离架构,后台服务的入口项目为Admin.NET.Web.Entry,其与其它项目的依赖关系如下图所示。
在这里插入图片描述
  由于项目采用Furion框架,后台服务启动方式、注册方式、配置方式等方面与常规的asp.net core项目差异明显,初步接触可能很不习惯,需要学习furion的基本用法才能看明白后台服务启动方式。
  首先是配置文件,Furion支持获取任何项目层根目录下的json文件,然后自动合并所有分散的配置文件。除此之外,还支持在启动项目的appsettings.json文件中配置ConfigurationScanDirectories参数,指定配置文件目录集合,Furion启动时会自动导入并合并这些文件夹中的配置文件信息。
在这里插入图片描述
  其次为启动方式,基于Furion框架,只需在启动项目的program.cs文件中调用Serve.Run即可达到常规启动文件的效果,按照Furion帮助文档的说法:“Serve.Run() 已经包含了基本的 WebAPI 功能,包含动态 WebAPI,跨域 等等”。Admin.NET项目的program.cs文件中使用了组件化启动方式,如下图所示。启动时调用的WebComponent组件继承自IWebComponent接口,该接口的Load函数等效于调用WebApplicationBuilder注册中间件。
在这里插入图片描述
  最后是Startup文件,除了Admin.NET.Web.Entry和Admin.NET.Core项目,每个项目都包含继承自AppStartup的Startup类。Furion框架支持AppStartup启动,也即所有启动项目直接引用或间接应用的项目中继承自AppStartup类的Startup类都会被自动加载运行,所在的项目层没有被启动层直接或间接添加引用。Furion帮助文档的解释是避免集中配置或修改启动项目中的Startup类,而是每个项目只需关系自身项目中所需注册及使用的服务即可。
  最后一点是GlobalUsings机制。从.NET6开始,微软新增了 GlobalUsings 机制,Admin.NET的不少项目根目录下都存在GlobalUsings.cs文件,其内是一组项目各代码文件共用的using语句,项目内其它cs文件不需要再次添加using声明,可以减少代码量。
  关于上述内容更详细的说明请见参考文献3,本文仅是学习Furion的粗浅理解。

参考文献:
[1]https://github.com/zuohuaijun/Admin.NET
[2]http://101.43.53.74:5050/introduce/
[3]https://furion.net/docs/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2065316.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机的错误计算(七十)

摘要 讨论大数的正割函数 sec(x)的错误计算。 例1. 已知 在 Maple 中计算 在 Maple中输入: restart; sec(30^54.8); 则输出: -5.214386310 若输入: Digits : 16;evalf[16](sec(30^54.8)); 则输出: 1.324455078865824…

中年人开发语言学习之路,反其道而行之

大家都更愿意学习新技术、新架构,代表着新方向新趋势,当大家都这么想的时候,注定了竞争就会激烈。有一部分中年程序员,反其道而行之,学习一些老掉牙的开发语言,向哪些近乎被遗忘的老旧系统进军。 市面上依…

一文了解Ansible原理以及常见使用模块

ansible使用手册 1. 简述 Ansible 是一种开源的自动化工具,主要用于配置管理、应用程序部署和任务自动化。 它使用简单的 YAML 语言来定义自动化的任务【playbook】,使得配置和部署变得更加直观和易于管理。 基于SSH协议连接到远程主机来执行指令。 2…

图像数据处理21

五、边缘检测 5.2基于二阶导数的边缘检测 一阶导数(如Sobel、Prewitt算子)能够捕捉到灰度值的快速变化,但有时会因检测到过多的边缘点而导致边缘线过粗。为了更加精确地定位边缘位置,可以利用二阶导数的零交叉点。零交叉点是是函…

触想工业一体机辅助DR系统提升医学影像诊断效率

一、行业发展背景 早期X线摄影依赖胶片成像,不便于图像存储管理,且显影过程长,无法进行后期处理,诊断质量和效率受到局限。 随着数字化技术的发展,DR系统问世,利用平板探测器将X射线图像转化为数字信号&…

推荐一款功能全面的层次化笔记应用,支持自由拖拽、缩放、旋转,可视化非常牛逼(附源码)

背景 不知道各位大佬日常生活中笔记软件用的多不,小编在工作中常常用笔记来记录每天的收获和安排。笔记软件的好坏直接影响了工作的心情和效率。今天给大家介绍的这款笔记软件,以其强大的笔记功能为基础,创造性地融入了画布式的自由编辑特性…

关于武汉芯景科技有限公司的RS232通信接口芯片XJ3243EEUI开发指南(兼容MAX3243EEUI)

一、芯片引脚介绍 1.芯片引脚 2.引脚描述 二、典型应用电路 三、功能描述 1.Transmitter 通过T1,T2可以将TTL电平转换为RS232电平 2.Receiver 通过R1,R2可以将RS232电平转换为TTL电平 3.工作模式控制 4.INVALID引脚

EDKII之安全启动详细介绍

文章目录 安全启动简介安全启动流程介绍签名过程BIOS实现小结 安全启动简介 安全启动(Secure Boot)是一种计算机系统的安全功能,旨在确保系统启动过程中只能加载经过数字签名的受信任的操作系统和启动加载程序。通过使用安全启动&#xff0c…

数据结构之串与KMP算法详解

串 一. 定义(了解) 串,即字符串,是计算机系统和网络传输中最常用的数据类型,任何非数值型的处理都会以字符串的形式存储和使用。 串(String)是由零个或多个字符组成的有限序列,一…

多选类型项,点击亮或不亮

用于菜单下拉 多选项 。 <div style"display: flex; flex-wrap: wrap;margin: 0 auto;"><div v-for"(item, index) in prpductnames" :key"item.id"><span :class"{ selected: selectArr.includes(item.id) }" click&q…

《计算机操作系统》(第4版)第7章 文件管理 复习笔记

第7章 文件管理 一、文件和文件系统 1. 数据项、记录和文件 数据组成可分为数据项、记录和文件三级&#xff0c;它们之间的层次关系如图7-1所示。 图7-1 文件、记录和数据项之间的层次关系 (1)数据项 在文件系统中&#xff0c;数据项是最低级的数据组织形式&#xff0c;可以分为…

Grove Vision AI V2之GPIO

一、说明 实现一个LED闪烁的Demo&#xff0c;Grove Vision AI V2开发板上有一个USER_LED&#xff0c;由GPIO SEN_D2驱动&#xff0c;SEN_D2为高电平是USER_LED亮&#xff0c;SEN_D2为低电平时USER_LED灭。 USER_LED部分电路如下&#xff1a; 二、创建例程 1、创建文件 在See…

MySQL的源码安装及基本部署(基于RHEL7.9)

这里源码安装mysql的5.7.44版本 一、源码安装 1.下载并解压mysql , 进入目录: wget https://downloads.mysql.com/archives/get/p/23/file/mysql-boost-5.7.44.tar.gz tar xf mysql-boost-5.7.44.tar.gz cd mysql-5.7.44/ 2.准备好mysql编译安装依赖: yum install cmake g…

上线eleme项目

&#xff08;一&#xff09;搭建主从从数据库 主服务器master 首先下载mysql57安装包&#xff0c;然后解压 复制改目录到/usr/local底下并且改个名字 cp -r mysql-5.7.44-linux-glibc2.12-x86_64 /usr/local/mysql 删掉/etc/my.cnf 这个会影响mysql57的启动 rm -rf /etc…

浪潮服务器主板集成RAID常见问题

★主板集成RAID出现Initialize初始化&#xff0c;如下图 判断及解决方案&#xff1a; 1.机器是否有过插拔硬盘等操作。 2.系统初始化-系统启动会非常的慢。一般为非法关机或者断电导致。 3.出现此情况耐心等待磁盘初始化完成即可。系统初始化时间以具体的数据大小来决定&#…

CLion IDE用MSVC和cmake编译darknet(带GPU)

这个配置教程给用过pytorch&#xff0c;懂得深度学习代码的基本流程&#xff0c;但又不熟悉windows c开发环境的宝子们使用。 安装CUDA&#xff0c;CUDNN 一般都有&#xff0c;不说了。注意上nvidia官网看一下显卡架构&#xff0c;后面要用&#xff0c;比如我的丽台M2000架构…

从零开始Dify本地部署|Windows

参考官方文档部署 Dify本地源码启动 windows最好结合WSL使用&#xff0c;懒得配置WSL&#xff0c;就是硬肝&#xff01; 1.Clone Dify 代码 先找到项目GitHub 开源链接clone 下来&#xff0c;使用docker部署运行&#xff08;Windows配置docker环境这里不赘述&#xff09; gi…

Prometheus Alertmanager告警之邮件、钉钉群、企业微信群机器人报警

文章目录 一、部署alertmanager相关组件1.alertmanager-config2.alertmanager-message-tmpl3.alertmanager 二、调试邮件告警三、钉钉群/企业微信群 报警3.1添加钉钉群机器人3.2添加企业微信群机器人3.3部署alertmanager-webhook-adaptermessage-tmplalertmanager-webhook-adap…

Windows环境下,使用bat脚本配置本地域名解析(含新增、修改、清理)

适用场景&#xff1a; 1.内部不存在DNS服务器的客户&#xff1b; 2.客户电脑不知道前期是否过某域名的本地解析。 整体思路&#xff1a; 1.备份原始hosts配置文件&#xff1b; 2.将hosts配置文件中包含xxxxxxxxxx.com域名的解析清空&#xff1b; 3.写入正确的解析到hosts配置文…

发布MindSearch到ModelScope创空间

一、创建空间 1.点击【我要创建】来创建一个应用 2.填写完基础信息 会出现一个未发布的应用 二、上传代码 1.参照当前页的指示一步一步将MindSearch部署需要的文件上传到指定的repo即可 2.在当前页点击【空间文件】查看刚才通过命令上传的文件 三、上线应用 1.点击【设置】可…