1.到官方网站下载安装文件,地址如下:

http://www.castleproject.org/index.php/Castle:Download
目前最新版本Beta5
(您也可以不需要下载,直接使用实例代码中lib中的dll)

2.添加对
Castle.MonoRail.Framework.dll
Castle.MonoRail.Framework.Views.CompositeView.dll
Castle.MonoRail.Framework.Views.NVelocity.dll
NVelocity.dll
的引用。
若你没有下载和安装Castle,在我的实例代码的lib中有这些dll的文件

3.创建一个Web项目,并在其下创建views和controllers目录
4.在controllers目录下创建HomeController.cs,并创建Index方法,代码如下:

using System;
using Castle.MonoRail.Framework; namespace MonoRailTest.controllers
{
/// <summary>
/// HomeController 的摘要说明。
/// </summary>
public class HomeController:Controller
{
public HomeController()
{
//
// TODO: 在此处添加构造函数逻辑
//
} public void Index()
{
PropertyBag.Add("name", "MonoRail实例"); } }
}
5.在Views目录下创建home目录下,并在home目录下创建index.vm文件,代码如下:

显示信息:$name

6.配置web.config文件

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="monoRail" type="Castle.MonoRail.Framework.Configuration.MonoRailSectionHandler, Castle.MonoRail.Framework" />
</configSections>
<!--如果要使用Castle的IOC,则为-->
<!--<monoRail useWindsorIntegration="true"> -->
<monoRail>
<controllers>
<!--定义controller所在的assembly-->
<assembly>MonoRailWeb</assembly>
</controllers>
<viewEngine
viewPathRoot="Views"
customEngine="Castle.MonoRail.Framework.Views.NVelocity.NVelocityViewEngine, Castle.MonoRail.Framework.Views.NVelocity" />
</monoRail>
<system.web>
<httpHandlers>
<!--定义httpHandler, 让MonoRailHttpHandlerFactory接管指定扩展名的url-->
<add verb="*" path="*.rails"
type="Castle.MonoRail.Framework.MonoRailHttpHandlerFactory, Castle.MonoRail.Framework" />
<!-- 阻止模板文件被下载 -->
<add verb="*" path="*.vm" type="System.Web.HttpForbiddenHandler" />
</httpHandlers>
</system.web> </configuration>

7.配置iis,在iis中注册.rails的扩展名

要在IIS里面映射.rails的扩展名文件到aspnet_isapi.dll 里面


然后在"映射"的标签下面点击"添加"按钮,

在可执行文件那里选择aspnet_isapi.dll的路径(eg.C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll)
然后在扩展名中填写".rails",最后记得把"检查文件是否存在"前面的勾去掉,最后当我们要点击.

8.在Views目录下创建nvelocity.properties文件,内容如下:
input.encoding=GB2312
output.encoding=GB2312
这是解决模板中中文乱码的问题

 

MonoRail学习-入门实例篇的更多相关文章

  1. Asp.Net MVC2.0 Url 路由入门---实例篇

    本篇主要讲述Routing组件的作用,以及举几个实例来学习Asp.Net MVC2.0 Url路由技术. 接着上一篇开始讲,我们在Global.asax中注册一条路由后,我们的请求是怎么转到相应的Vi ...

  2. Asp.Net MVC2.0 Url 路由入门---实例篇 【转】

    本篇主要讲述Routing组件的作用,以及举几个实例来学习Asp.Net MVC2.0 Url路由技术. 接着上一篇开始讲,我们在Global.asax中注册一条路由后,我们的请求是怎么转到相应的Vi ...

  3. 实体框架(Entity Framework)快速入门--实例篇

    在上一篇 <实体框架(Entity Framework)快速入门> 中我们简单了解的EF的定义和大体的情况,我们通过一步一步的做一个简单的实际例子来让大家对EF使用有个简单印象,看操作步骤 ...

  4. java学习——入门扫盲篇

    概要 近期这几天開始进入java的学习,接触到了好多不是非常了解的概念,像JDK.JRE.JVM.GC等等这些,放到这里来进行下扫盲. java java是一种面向对象程序设计语言和java平台的总称 ...

  5. linux下网络编程学习——入门实例ZZ

    http://www.cppblog.com/cuijixin/archive/2008/03/14/44480.html 是不是还对用c怎么实现网络编程感到神秘莫测阿,我们这里就要撕开它神秘的面纱, ...

  6. C#学习入门第二篇

     4.转义字符\b    退格符\n     换行\r     回车,移到本行开头\t     水平制表符\\      代表反斜线字符“\“\'        代表一个单引号字符@字在字符串前面表示 ...

  7. C#学习入门第一篇

    1. using System; using System.Collections.Generic; using System.Ling; using System.Text; using Syste ...

  8. Json.Net6.0入门学习试水篇

    原文:Json.Net6.0入门学习试水篇 前言 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.简单地说,JSON 可以将 JavaScript 对象中 ...

  9. 给深度学习入门者的Python快速教程 - 番外篇之Python-OpenCV

    这次博客园的排版彻底残了..高清版请移步: https://zhuanlan.zhihu.com/p/24425116 本篇是前面两篇教程: 给深度学习入门者的Python快速教程 - 基础篇 给深度 ...

随机推荐

  1. HTML常用的特殊字符格式

    空格: 版权号:©注册商标:®":quot; ':&apos;&:&<:<>:> ©:© «:« ®:® ¯:¯ ¼:¼  (14表示四分之一 ...

  2. EI中国

    这里可以看到EI收录的所有的中国期刊:http://lib.sytu.edu.cn/files/zwwxx/2009-EI-china.htm

  3. 转!数据库连接池概念、种类、配置(DBCP\C3P0\JndI与Tomact配置连接池)

    数据库连接池概念.种类.配置(DBCP\C3P0\JndI与Tomact配置连接池) 一.DBCP 连接:DBCP 连接池是 Apache 软件基金组织下的一个开源连接池实现. 需要的 java 包c ...

  4. TCP 连接建立和断开,以及状态转换

    1. TCP报文结构 TCP是一种可靠.面向连接.全双工的传输层协议,其报文格式如下所示:      源端口.目的端口:16位长.标识出远端和本地的端口号.     顺序号:32位长.表明了发送的数据 ...

  5. 打不开chm文件解决办法

    打不开chm文件解决办法.bat regsvr32 itss.dll /sregsvr32 hhctrl.ocx /s

  6. VB6 GDI+ 入门教程[1] GDI+介绍

    http://vistaswx.com/blog/article/category/tutorial/page/2 VB6 GDI+ 入门教程[1] GDI+介绍 2009 年 6 月 18 日 17 ...

  7. WebDriver - 添加失败截图

    WebDriver失败截图可以通过两种方式实现: 1. Use WebdriverEventListener 第一步:创建自己的WebDriverEventListener 创建自己的WebDrive ...

  8. dedecms 模板文件不存在,无法解析文档"的终极各种解决办法

    方法一:[此对应喜欢把模板文件使用".html"的格式,]  /include/arc.archives.class.php 556行    if (!preg_match(&qu ...

  9. aspcms标签使用经验

    1.调用导航栏标签写法,sort是网站后台栏目管理的编号{aspcms:type sort=19} <a href="[type:link]" title="[ty ...

  10. DI 之 3.2 循环依赖 (伍)

    3.2.1  什么是循环依赖 循环依赖就是循环引用,就是两个或多个Bean相互之间的持有对方,比如CircleA引用CircleB,CircleB引用CircleC,CircleC引用CircleA, ...