.NET Core第三方开源Web框架YOYOFx
YOYOFx框架
YOYOFx是一个轻量级用于构建基于 HTTP 的 Web 服务,基于 .NET 和 Mono 平台。
本着学习的态度,造了这个轮子,也是为了更好的了解各个框架的原理和有点,还希望可以和大家多交流 。
GitHub:https://github.com/maxzhang1985/YOYOFx
YOYOFx是支持Owin协议的MVC框架,基于NETStandard1.6和NET451编译,完美支持在Core和full framework(如.net framework 4.5x或mono 4.x)上的运行。
YOYOFx集成了dotnet core上“第一款”验证码组件,验证码的实现在以前的文章里提过,《【干货】”首个“ .NET Core 验证码组件 》。
特性: YOYOFx的Mvc是基于Owin跑在Core的Web框架 , YOYOFx并没有基于Asp.Net Core MVC进行开发,而选择了使用Owin协议自己来封装Http协议的方式。
跨平台特性:#
- .NET framework 4.5x和Mono4.x上直接SelfHost或使用Tinyfox跨平台运行;
- .NET Core 1.0 RTM 实现跨平台运行;
- 使用Tinyfox独立版,可支持绿色部署,不需要安装Mono和Framework。
- 通过dotnet publish将Core版本进行打包后,可支持绿色部署,不需要运行时。
Owin与Core#
YOYOFx的Http实现都是基于Owin协议的,并提供两个独立版本NETSTANDRD1.x和NET45x版本。
目前完成:#
- 封装Owin协议的HttpContext(IOwinContext),包括Request、Response、Http Headers、Cookie等;
- 路由机制,通过添加自定义路由表为框架添加处理事件;
- 基于IOwinContext的MVC框架,支持多语言扩展;支持Session和自定义的Action拦截器;
- 可替换的视图引擎,目前实现Razor视图引擎,加入了缓存机制;
- 已移植到dotnet core 1.0 RTM版本
接下来的工作:#
- 将项目的目录结构整合到dotnet core的项目文件中。 (已完成)
- 完成框架整体的DI,将框架级依赖对象全部通过依赖注入的方式构建和对象创建工厂;首先完成Controller的创建工厂。 (已完成)
- 完善路由系统 (进行中)
- 支持方法特性[HttpGet] [HttpPost] 等定义路由。
- 支持自定义路由路径。
- 支持为路由规则指定特定的Handler处理函数。
YOYOFx还非常不完善,只完成了最基本的功能,不过我会坚持写下去,坚持开源,为开源社区做那么一点点的贡献。
GitHub:https://github.com/maxzhang1985/YOYOFx Star下, 欢迎一起交流。
.NET Core 和 YOYOFx 的交流群: 214741894
如果你觉得本文对你有帮助,请点击“推荐”,谢谢。
作者: YOYOFx
出处:https://www.cnblogs.com/maxzhang1985/p/12673160.html
版权:本文采用「署名-非商业性使用-相同方式共享 4.0 国际」知识共享许可协议进行许可。

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库