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 ...
随机推荐
- xamarin mac 之 资料
中文社区 xamarin.form 30天学习计划
- python 发起HTTP请求
因为微信公众号群发需要调用高级群发接口,其中涉及到python发起HTTP请求,现在将相关实现操作记录如下: 首先,HTTP请求分为GET和POST,如下所示: 首先是发起get 请求: # -*- ...
- MySQL动态添删改列字段
动态增加列字段: ); 动态删除列字段: alter table TableName drop column field_id; 动态修改列字段: alter table TableName chan ...
- Angular - - ngApp、ngBind、ngBindHtml、ngNonBindable
对于ng-系列的指令,每篇文章写2-5个吧,不然显得文章好短.... ngApp 使用这个指令自动启动一个AngularJS应用.ngApp指令指定了应用程序的根节点,通常会将ngApp放置在网页的根 ...
- thinkphp CURD 1
二.ThinkPHP 3 读取数据 (重点) 对数据的读取 Read $m=new Model('User'); $m=M('User'); select $m-> ...
- 邮件报警shell脚本
温馨提示 首先要安装postfix 或者 sendmail 等邮件服务器 1.Apache #!/bin/bash #apache.sh nc -w2 localhost 80 if[ $? -ne ...
- Java jsp 示例
<!DOCTYPE html> <!-- [ published at 2015-11-13 12:30:50 ] --> <html> <head> ...
- Java多线程(学习篇)
Java多线程:(学习篇) 1.什么是线程 2.线程状态 3.线程中断 4.线程交互 5.同步机制 6.锁机制 7.堵塞队列与堵塞栈 8.条件变量.原子量.线程池等 9.线性安全类和Callable与 ...
- Flash Socket通信的安全策略问题 843端口
1.问题描述 将flash发布为html格式后,加载页面后,swf无法与服务器进行socket通信.Flash端显示的错误为:securityErrorHandler信息: [Securi ...
- Service介绍(MediaPlayer应用)
一.Service介绍 Service类似于Windows中的服务,没有界面,只是在后台运行:而服务不能自己运行,而是需要调用Context.startService(Intent intent);或 ...