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

目前完成:

  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下, 欢迎一起交流。

Core第三方开源Web框架的更多相关文章

  1. .NET Core第三方开源Web框架YOYOFx

    YOYOFx框架 YOYOFx是一个轻量级用于构建基于 HTTP 的 Web 服务,基于 .NET 和 Mono 平台. 本着学习的态度,造了这个轮子,也是为了更好的了解各个框架的原理和有点,还希望可 ...

  2. 两个基于C++/Qt的开源WEB框架

    1.tufao 项目地址: https://github.com/vinipsmaker/tufao 主页: http://vinipsmaker.github.io/tufao/ 介绍: Tufão ...

  3. [58 Argo]58同城开源web框架Argo搭建实践

    无意间听说58开源的消息(Long long ago),我辈欣喜异常. 一方面感谢开源同仁的辛苦劳动,另一方面也为我辈在互联网技术实践圈外的人提供了一条实践的渠道. 我迫不及待的从github上dow ...

  4. .Net Core版开源跨平台框架SkyMallCore

    相互学习提升,有不足之处请指教!有需要急速开发的朋友可以拿来用哦! SkyMallCore 该项目目前放在github上,功能仍在完善,已Fork的园友已给了一些建议, 我会继续完善,并将开发过程遇到 ...

  5. .NET Core下开源任务调度框架Hangfire的Api任务拓展(支持秒级任务)

    HangFire的拓展和使用 看了很多博客,小白第一次写博客. 最近由于之前的任务调度框架总出现问题,因此想寻找一个替代品,之前使用的是Quartz.Net,这个框架方便之处就是支持cron表达式适合 ...

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

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

  7. Python最火的第三方开源测试框架 ——pytest

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

  8. .NET平台系列16 .NET5/Asp.Net Core 在全球Web框架权威性能测试 Web Framework Benchmarks 中的吊炸天表现

    系列目录     [已更新最新开发文章,点击查看详细] TechEmpower Web Framework Benchmarks 是许多Web应用程序框架执行基本任务(如JSON序列化.数据库访问和服 ...

  9. .NET Core下开源任务调度框架Hangfire

    今天无意中发现了一个很好用的任务调度框架.Hangfire作为一款高人气且容易上手的分布式后台执行服务,支持多种数据库.在 .net core的环境中,由Core自带的DI管理着生命周期. 相较于qu ...

随机推荐

  1. 将以管理员方式运行cmd运行方式放到win7任务栏

    首先在桌面空白地方(没有桌面图标位置),点击鼠标右键,选择新建--快捷方式,如下图:       弹出创建快捷方式窗口,输入cmd.exe的路径及文件名,下图是天缘的Windows 7安装到C盘对应的 ...

  2. 正选反选JS

    JS <script> window.onload=function(){ var oTher=document.getElementById('other'); var oCheck=d ...

  3. 51cto那些技术专题们

    Nginx配置与应用详解 UML(Unified Modeling Language,统一建模语言) 架构师的成长历程 python python book ruby html5 不可不知的Linux ...

  4. Oracle EBS-SQL (SYS-14):查询表空间1.sql

    SELECT d.status "状态",           d.tablespace_name "名称",           d.contents &qu ...

  5. docker 数据映射方案

    docker run -itd -v /data/:/data1 centos bash // -v 用来指定挂载目录, :前面的/data为本地目录,:后面的/data1 为容器里的目录: dock ...

  6. 看大数据时代下的IT架构(1)业界消息队列对比

    一.MQ(Message Queue) 即 消息队列,一般用于应用系统解耦.消息异步分发,能够提高系统吞吐量.MQ的产品有很多,有开源的,也有闭源,比如ZeroMQ.RabbitMQ. ActiveM ...

  7. Servlet的运行方式

    通常我们运行servlet需要在web.xml配置文件中,注册我们写好的servlet以及其对应的访问路径. 在学习web开发中,有一种不需要配置便可以直接对servlet进行配置的方式,在web.x ...

  8. linux内核参数调优,缓冲区调整,tcp/udp连接管理,保持,释放优化,gossary,terms

    changing a readonly file (linu single user mode)

  9. python-模块系列

    --> 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能 ...

  10. DBCP|C3P0参数详解

    1.<!-- 数据源1 --> 2. <bean id="dataSource" 3. class="org.apache.commons.dbcp.B ...