Lucas,.net Web框架
#Lucas
Lucas
LucasWeb框架是基于新的魔法糖思想创建的框架.
本框架有两大特点.1.所有框架里最简单易学易配置的.2.所有框架里效率最快的.
1.UrlRouter没有使用IOC注入及反射,而是根据Controller层直接生成Router代码,效率是任何.net框架无法比拟的.
2.只有一个文件夹,无需任何配置,复制到网站项目下运行即可使用.
3.重新实现了webform模版引擎中的部分功能.
4.在csharp源文件中进行了html代码压缩,令html代码压缩零损耗.
5.此框架开源.
https://git.oschina.net/LucasDot/Lucas.git
svn://git.oschina.net/LucasDot/Lucas
如果有任何问题请联系QQ:348764327.
使用方法:
配置:
1.把Lucas放入网站根目录.(Lucas目录在WebMvc项目下.其它的都是开发时测试使用.)
2.把Lucas/WebCompiler.aspx设置为启动项,运行.(框架会自动完成配置)
开发:
1.配置完成后,根目录会自动出现App目录,在Controllers下创建以Controller结尾的类,并使其继承自Lucas.BaseAction
例:
using System;
using System.Collections.Generic;
using System.Web;
namespace WebMvc.Man.Controllers
{
public class IndexController:Lucas.BaseAction
{
public void Index()
{
string text = "欢迎使用Lucas Mvc框架。";
View("IndexController/Index");
}
}
}
2.然后在App/Views/Default/IndexController下新建Index.aspx页面.文件夹名即Controller的类名,文件名即方法名.
修改模版:
<%@ Page Language="C#" %>
<!doctype html>
<html>
<body>
<%=text%>
</body>
</html>
其中<%=%>即输出text变量中的值,只要是方法内的变量都可在此输出.当然也支持<%%>中直接添加csharp代码.
另外也可引入其它模版文件例如:<%@ Reference Page="~/App/Views/Default/Public/Header.aspx" %>
3.魔法糖思想.再次运行Lucas/WebCompiler.aspx文件,系统会在App/Web/Default/IndexController/下自动生成两个文件,Index.cs与Index.html
其内容如下:
using System;
using System.Collections.Generic;
using System.Web;
namespace WebMvc.Man.Web.Default.IndexController
{
public class IndexAction : Lucas.BaseAction
{
public IndexAction(System.IO.TextWriter tw) : base(tw) { }
public IndexAction(string fileName) : base(fileName) { }
public void Index()
{
string text = "欢迎使用Lucas Mvc框架。";
Write("<!doctype html><html><body>");
Write(text);
Write("</body></html>");
}
}
}
看到没有?直接生成了效率最高的Write函数,而且此代码中的html全部都是压缩过的.
bingo,这就是我所说提魔法糖思想!
再来看看index.html
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<script>
window.location.href = "/Man/IndexController/Index.htm";
</script>
</body>
</html>
只有一句跳转语句.当你把此页设为启动项时,你可以调试index.cs文件,再也不用担心MVC测试时URL地址混乱了.
一般的MVC模块中的目录是不能分级的,而此框架可无限分级.
一般的MVC框架都需要烦索的设置,或模版支持,而此框架运行时会自配置.
Lucas,.net Web框架的更多相关文章
- python几个轻量级web框架
python几个轻量级web框架 2016-04-11 18:04:34 惹不起的程咬金 阅读数 7944更多 分类专栏: 云计算/大数据/并行计算 Python 我最近发表了一篇名为 ‘7 Mi ...
- Python(九)Tornado web 框架
一.简介 Tornado 是 FriendFeed 使用的可扩展的非阻塞式 web 服务器及其相关工具的开源版本.这个 Web 框架看起来有些像web.py 或者 Google 的 webapp,不过 ...
- 转-基于NodeJS的14款Web框架
基于NodeJS的14款Web框架 2014-10-16 23:28 作者: NodeJSNet 来源: 本站 浏览: 1,399 次阅读 我要评论暂无评论 字号: 大 中 小 摘要: 在几年的时间里 ...
- 初步认识Node 之Web框架
上一篇我们认识了Node是什么之后,这一篇我们主要了解的就是它的框架了.而它的框架又分为两大类,Web框架和全栈框架,接下来我们一个一个的来了解. Web框架 Web框架可以细分为Web应用程序 ...
- 【原】Go语言及Web框架Beego环境无脑搭建
本文涉及软件均以截至到2013年10月12日的最新版本为准 1. 相关软件准备: 1) go1.2rc1.windows-386.msi,对应32位windows系统安装使用 下载地址: https: ...
- 【译】什么是 web 框架?
Web 应用框架,或者简单的说是“Web 框架”,其实是建立 web 应用的一种方式.从简单的博客系统到复杂的富 AJAX 应用,web 上每个页面都是通过写代码来生成的.我发现很多人都热衷于学习 w ...
- 冰冻三尺非一日之寒--web框架Django
1.JS 正则 test - 判断字符串是否符合规定的正则 rep = /\d+/; rep.test("asdfoiklfasdf89asdfasdf ...
- web框架django初探
Web框架介绍 一般会分为两部分:服务器程序和应用程序.服务器程序负责对socket服务器进行封装,并在请求到来时,对请求的各种数据进行整理.应用程序则负责具体的逻辑处理.为了方便应用程序的开发,就出 ...
- web前端基础知识-(六)web框架
一.web框架本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. #!/usr/bin/env python #coding:ut ...
随机推荐
- PLSQL的一些事儿
每一个软件都是设计精妙的 plsql就可以使用一些简单代码代替长的语句,比如s=SELECT * FROM 数据插入报错: 原因: 一般情况下,数据库的NLS_CHARACTERSET 为AL32UT ...
- linux Cron 执行Django 任务计划
用shell 脚本调用python 脚本如下 #!/bin/bash export FLAVOR=liveexport PYTHONPATH=$PYTHONPATH:/home/alex/Django ...
- Python3基础 内嵌函数 简单示例
镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.-------------------------------------- ...
- 国民身份证号码校验之“C#/Winform方法实现+案例分析”
根据[中华人民共和国国家标准 GB 11643-1999]中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成.排列顺序从左至右依次为:六位数字地址码,八位数字出 ...
- --@ui-router——$state服务原版详解
$state service in module ui.router.state Description $state service is responsible for representing ...
- 解决Centos 7 下 tomcat字体异常 Font '宋体' is not available to the JVM
错误提示: SEVERE: Servlet.service() for servlet [example] in context with path [/myproject] threw except ...
- 响应的系统设置的事件——重写onConfigurationChanged响应系统设置更改
如果程序需要监听系统设置的更改,则可以考虑重写Activity的onConfigurationChanged(Configuration newConfig)方法,该方法是一个基于回调的事件处理方法: ...
- java发送邮件完整实例 java邮件工具类
http://yuncode.net/code/c_552a2e2dc593894 package com.srie.mail; import java.util.Properties; import ...
- 我用Cocos2d-x模拟《Love Live!学院偶像祭》的Live场景(四)
[前言和思路整理] 千呼万唤Shǐ出来!最近莫名被基友忽悠着进舰坑了,加上要肝LL活动,又碰上公司项目紧张经常加班,这一章发得比以往时候来得更晚一些,抱歉啊. 上一章我们实现了BeatObjectMa ...
- CentOS6.5固定IP方式上网(NAT)
使用NAT模式 虚拟机网络连接使用NAT模式,物理机网络连接使用Vmnet8.如果没有重置一下即可 虚拟机设置里面--网络适配器,网络连接选择NAT模式. 虚拟机菜单栏-编辑-虚拟网络编辑器,选择Vm ...