.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
原文地址:http://www.cnblogs.com/maxzhang1985/p/5673108.html
.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注
.NET Core第三方开源Web框架YOYOFx相关推荐
- Java开源Web框架
WebWork 点击次数:18070 WebWork 是由OpenSymphony组织开发的,致力于组件化和代码重用的拉出式MVC模式J2EE Web框架.WebWork目前最新版本是2.1,现 ...
- 开源web框架_带有酷名称的开源JavaScript和Web框架的词汇表
开源web框架 It's getting to the point where there are so many cool open source projects that I can't kee ...
- 开源web框架django知识总结(二十二)
开源web框架django知识总结(二十二) 支付 提示: 如果用户选择的支付方式是 "支付宝" ,在点击<去支付>时对接支付宝的支付系统. 支付宝介绍 支付宝开放平台 ...
- 58同城开源web框架 Argo (四)
58同城开源的轻量级web框架 https://github.com/58code/Argo 今天开头说说抽象,面向对象的特点:抽象.继承.多态,好的设计都是基于优秀的抽象,抽象层次越高.越完善,他的 ...
- pytest框架_Python最火的第三方开源测试框架——pytest
一.介绍 本篇文章是介绍的是Python 世界中最火的第三方单元测试框架:pytest.它有如下主要特性: assert 断言失败时输出详细信息(再也不用去记忆 self.assert* 名称了) 自 ...
- python开源考试_可能是 Python 中最火的第三方开源测试框架 pytest
作者:HelloGitHub-Prodesire 一.介绍 本篇文章是<聊聊 Python 的单元测试框架>的第三篇,前两篇分别介绍了标准库 unittest 和第三方单元测试框架 nos ...
- 可能是 Python 中最火的第三方开源测试框架 pytest
作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Arti ...
- python web论坛_十个基于Python的BBS论坛类开源web框架汇总(附源码地址)
1.LBForum LBForum是用django开发的论坛系统,LBForum主要注重部署的方便性和易用性,功能方面目前还比较简单. LBForum的开发尽量遵照Django可复用app原则,因此即 ...
- 十个基于Python的BBS论坛类开源web框架汇总(附源码地址)
1.LBForum LBForum是用django开发的论坛系统,LBForum主要注重部署的方便性和易用性,功能方面目前还比较简单. LBForum的开发尽量遵照Django可复用app原则,因此即 ...
最新文章
- java 行为模式_java – 模式匹配行为
- 编写Ogre插件的一般方法
- 关于js中window.location.href,location.href,parent.location.href,top.location.href的使用方法
- scala方法定义示例
- mysql 索引长度tips innodb和myisam引擎
- 转:GridView 模板列中的数据绑定
- 优化android studio编译的apk大小
- 极客猿网址导航源码V3.0开源版
- Intel Pin架构
- MySQL Oracle默认排序_PostgreSQL、MySQL、Oracle,查询的默认排序是怎样的?
- 没有密码怎样删除officescan
- 主板检测卡常见错误代码:0D~0F
- win7任务栏谷歌浏览器图标显示异常
- 名人带货成潮流,直播电商是否走上了岔路?
- go slice作为函数参数是值传递
- MySQL联合主键保存_mysql联合主键
- js获取今天剩余时间_Node.js 在微医的应用场景及实践
- app软件开发现状及前景
- DRB-GAN: A Dynamic ResBlock Generative Adversarial Network for Artistic Style Transfer
- 《惢客创业日记》2019.09.02(周一) 把习惯变成闹钟
热门文章
- WPF之DataGrid
- 深入分析Volatile的实现原理
- 关于IIS服务启动失败的问题:“IIS提示‘另一个程序正在使用此文件,进程无法访问’”,的解决方法...
- 为什么中国这么多高薪程序员,开发不出Java, Typescript, Python, Rust, Node.js这些基础设施?...
- 你知道WPF与WinForms的区别吗?
- Ingress-nginx工作原理和实践
- netcore一键部署到linux服务器以服务方式后台运行
- 跟我一起学.NetCore之日志(Log)模型核心
- SilkierQuartz 1.0.21 发布, 是一个 Quartz.NET 的强大且简单的Web管理工具和承载组件...
- C#黔驴技巧之去重(Distinct)