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

  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/

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园建设方案旨在通过先进的信息技术,为师生提供一个全面智能的感知环境和综合信息服务平台。该方案正处在从信息化第二阶段向第三阶段过渡的关键时期,致力于实现校园服务和管理的全面智能化。 方案的核心目标是构建一个集成的校园地理信息服务平台,通过该平台实现资产管理、房产信息管理、基础设施管理、绿化管理和能源监测管理等功能。同时,该平台将提供校园漫游、信息服务、指引服务、活动通知、用房服务和客流统计等多样化服务,以促进校园的和谐、绿色、平安和便捷。 在技术层面,智慧校园建设方案强调系统集成能力、数据统一分析能力、系统资源共享能力以及大数据集成处理能力。通过这些能力,可以构建统一的校园地理信息平台,提供综合的应用支撑和管理能力,实现系统平滑演进。 应用方向上,智慧校园建设方案围绕和谐校园、绿色校园、平安校园和掌上校园四个维度展开。和谐校园侧重于提供校园漫游、信息服务、指引服务等,增强师生的校园体验。绿色校园则关注资产管理和能源监测,推动校园的可持续发展。平安校园通过视频监控、数字巡更等手段,确保校园安全。掌上校园则利用移动设备,实现校园服务的随时随地访问。 最终,智慧校园建设方案将通过三维虚拟校史馆、720度成像技术等创新应用,提供身临其境的校园漫游体验,同时通过可视化管理和数据分析,优化校园资源配置和运营效率,实现校园管理的智能化和现代化。
好的,以下是使用Furion+sqlsugar实现单用户登录的步骤: 1. 创建一个Furion项目,并添加sqlsugar和sqlsugar.extensions库的引用。 2. 在appsettings.json文件中添加数据库连接字符串配置,例如: ``` { "ConnectionStrings": { "DefaultConnection": "Server=localhost;Database=TestDb;Uid=root;Pwd=123456;" } } ``` 3. 创建一个User表,用于存储用户信息,例如: ``` CREATE TABLE `User` ( `Id` bigint(20) NOT NULL AUTO_INCREMENT, `UserName` varchar(50) NOT NULL, `Password` varchar(50) NOT NULL, PRIMARY KEY (`Id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ``` 4. 在Startup.cs文件的ConfigureServices方法中添加sqlsugar的配置,例如: ``` services.AddSqlSugar(new ConnectionConfig() { ConnectionString = Configuration.GetConnectionString("DefaultConnection"), DbType = DbType.MySql, IsAutoCloseConnection = true, InitKeyType = InitKeyType.Attribute }); ``` 5. 在UserService.cs文件中定义一个用于验证用户登录的方法,例如: ``` public class UserService : IUserService { private readonly ISqlSugarClient _sqlSugarClient; public UserService(ISqlSugarClient sqlSugarClient) { _sqlSugarClient = sqlSugarClient; } public async Task<bool> ValidateUserAsync(string userName, string password) { var user = await _sqlSugarClient.Queryable<User>().Where(u => u.UserName == userName && u.Password == password).FirstAsync(); return user != null; } } ``` 6. 在AccountController.cs文件中定义一个用于处理用户登录的方法,例如: ``` public class AccountController : ApiControllerBase { private readonly IUserService _userService; public AccountController(IUserService userService) { _userService = userService; } [HttpPost] public async Task<ActionResult> LoginAsync(LoginInputDto input) { if (await _userService.ValidateUserAsync(input.UserName, input.Password)) { return Ok(new { token = "your_token_here" }); } else { return BadRequest("用户名或密码错误!"); } } } ``` 7. 编写前端页面,使用ajax请求登录接口,并将登录成功后返回的token保存到localStorage中。 以上就是使用Furion+sqlsugar实现单用户登录的全部步骤,希望能对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值