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版本。

目前完成:

  1. 封装Owin协议的HttpContext(IOwinContext),包括Request、Response、Http Headers、Cookie等;

  2. 路由机制,通过添加自定义路由表为框架添加处理事件;

  3. 基于IOwinContext的MVC框架,支持多语言扩展;支持Session和自定义的Action拦截器;

  4. 可替换的视图引擎,目前实现Razor视图引擎,加入了缓存机制;

  5. 已移植到dotnet core 1.0 RTM版本

接下来的工作:

  1. 将项目的目录结构整合到dotnet core的项目文件中。 (已完成)

  2. 完成框架整体的DI,将框架级依赖对象全部通过依赖注入的方式构建和对象创建工厂;首先完成Controller的创建工厂。 (已完成)

  3. 完善路由系统 (进行中)

    • 支持方法特性[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相关推荐

  1. Java开源Web框架

     WebWork   点击次数:18070 WebWork 是由OpenSymphony组织开发的,致力于组件化和代码重用的拉出式MVC模式J2EE Web框架.WebWork目前最新版本是2.1,现 ...

  2. 开源web框架_带有酷名称的开源JavaScript和Web框架的词汇表

    开源web框架 It's getting to the point where there are so many cool open source projects that I can't kee ...

  3. 开源web框架django知识总结(二十二)

    开源web框架django知识总结(二十二) 支付 提示: 如果用户选择的支付方式是 "支付宝" ,在点击<去支付>时对接支付宝的支付系统. 支付宝介绍 支付宝开放平台 ...

  4. 58同城开源web框架 Argo (四)

    58同城开源的轻量级web框架 https://github.com/58code/Argo 今天开头说说抽象,面向对象的特点:抽象.继承.多态,好的设计都是基于优秀的抽象,抽象层次越高.越完善,他的 ...

  5. pytest框架_Python最火的第三方开源测试框架——pytest

    一.介绍 本篇文章是介绍的是Python 世界中最火的第三方单元测试框架:pytest.它有如下主要特性: assert 断言失败时输出详细信息(再也不用去记忆 self.assert* 名称了) 自 ...

  6. python开源考试_可能是 Python 中最火的第三方开源测试框架 pytest

    作者:HelloGitHub-Prodesire 一.介绍 本篇文章是<聊聊 Python 的单元测试框架>的第三篇,前两篇分别介绍了标准库 unittest 和第三方单元测试框架 nos ...

  7. 可能是 Python 中最火的第三方开源测试框架 pytest

    作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Arti ...

  8. python web论坛_十个基于Python的BBS论坛类开源web框架汇总(附源码地址)

    1.LBForum LBForum是用django开发的论坛系统,LBForum主要注重部署的方便性和易用性,功能方面目前还比较简单. LBForum的开发尽量遵照Django可复用app原则,因此即 ...

  9. 十个基于Python的BBS论坛类开源web框架汇总(附源码地址)

    1.LBForum LBForum是用django开发的论坛系统,LBForum主要注重部署的方便性和易用性,功能方面目前还比较简单. LBForum的开发尽量遵照Django可复用app原则,因此即 ...

最新文章

  1. java 行为模式_java – 模式匹配行为
  2. 编写Ogre插件的一般方法
  3. 关于js中window.location.href,location.href,parent.location.href,top.location.href的使用方法
  4. scala方法定义示例
  5. mysql 索引长度tips innodb和myisam引擎
  6. 转:GridView 模板列中的数据绑定
  7. 优化android studio编译的apk大小
  8. 极客猿网址导航源码V3.0开源版
  9. Intel Pin架构
  10. MySQL Oracle默认排序_PostgreSQL、MySQL、Oracle,查询的默认排序是怎样的?
  11. 没有密码怎样删除officescan
  12. 主板检测卡常见错误代码:0D~0F
  13. win7任务栏谷歌浏览器图标显示异常
  14. 名人带货成潮流,直播电商是否走上了岔路?
  15. go slice作为函数参数是值传递
  16. MySQL联合主键保存_mysql联合主键
  17. js获取今天剩余时间_Node.js 在微医的应用场景及实践
  18. app软件开发现状及前景
  19. DRB-GAN: A Dynamic ResBlock Generative Adversarial Network for Artistic Style Transfer
  20. 《惢客创业日记》2019.09.02(周一) 把习惯变成闹钟

热门文章

  1. WPF之DataGrid
  2. 深入分析Volatile的实现原理
  3. 关于IIS服务启动失败的问题:“IIS提示‘另一个程序正在使用此文件,进程无法访问’”,的解决方法...
  4. 为什么中国这么多高薪程序员,开发不出Java, Typescript, Python, Rust, Node.js这些基础设施?...
  5. 你知道WPF与WinForms的区别吗?
  6. Ingress-nginx工作原理和实践
  7. netcore一键部署到linux服务器以服务方式后台运行
  8. 跟我一起学.NetCore之日志(Log)模型核心
  9. SilkierQuartz 1.0.21 发布, 是一个 Quartz.NET 的强大且简单的Web管理工具和承载组件...
  10. C#黔驴技巧之去重(Distinct)