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实例");}}
}

View Code

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>

View Code

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
这是解决模板中中文乱码的问题

转载于:https://www.cnblogs.com/B-bowen/p/3837768.html

MonoRail学习-入门实例篇相关推荐

  1. MonoRail学习-介绍篇(一)

    MonoRail学习-介绍篇 刚刚结束了使用Castle MonoRail的一个项目,所以想将在项目中的一些片段大家一起共享一样.由于这是一个网站项目,所以使用Monorail,因为他使用MVC模式, ...

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

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

  3. React学习:入门实例-学习笔记

    文章目录 React学习:入门实例-学习笔记 React的核心 需要引入三个库 什么是JSX react渲染三步骤 React学习:入门实例-学习笔记 React的核心 1.组件化:把整一个网页的拆分 ...

  4. MonoRail学习-介绍篇

    刚刚结束了使用Castle MonoRail的一个项目,所以想将在项目中的一些片段大家一起共享一样.由于这是一个网站项目,所以使用Monorail,因为他使用MVC模式,能够很好的使得界面和代码分离, ...

  5. Drools学习 入门实例

    http://blog.sina.com.cn/s/blog_67d6d5df0100jyqk.html 在Eclipse新建Drools工程就可以导入自带的例子进行学习.     接下来: 如此,就 ...

  6. 李宏毅《深度学习》:深度学习入门实例

    1.Keras 在这里我们推荐使用keras进行深度学习编程,比起tensorflow来说更容易学习,操作简单, 2.手写识别实例 这里手写识别的数据集来自于minst,一个非常常用的数据集,从ker ...

  7. mint-ui的学习入门实例

    今早上看了一下mint-ui,官网看的虽然不是完全学会使用,但是通过自己百度了解,现在已经可以掌握对mint-ui的基本使用,下面是我自己练习的一些小案例集合,仅供参考,代码如下: <templ ...

  8. 深度学习入门实例——基于keras的mnist手写数字识别

    本文介绍了利用keras做mnist数据集的手写数字识别. 参考网址 http://www.cnblogs.com/lc1217/p/7132364.html mnist数据集中的图片为28*28的单 ...

  9. Matlab深度学习入门实例:基于AlexNet的红绿灯识别(附完整代码)

    AlexNet于2012年出现在ImageNet的图像分类比赛中,并取得了当年冠军,从此卷积神经网络开始受到人们的强烈关注.AlexNet是深度卷积神经网络研究热潮的开端,也是研究热点从传统视觉方法过 ...

最新文章

  1. PHP Learning every day
  2. ES5-16【utils】数组方法、类数组
  3. python excel操作库,可能是全网最完整的 Python 操作 Excel库总结!
  4. oracle安装时EM,EM 安装时报错 - Oracle数据库管理 - ITPUB论坛-中国专业的IT技术社区...
  5. [转载]网页栅格系统研究(3):粒度问题
  6. 同济大学微型计算机原理实验报告,同济大学微机原理实验报告.doc
  7. Siki_Unity_2-9_C#高级教程(未完)
  8. 确定性的丧失——20世纪新启蒙运动的来龙去脉
  9. linux fdisk等命令,linux命令:fdisk(示例代码)
  10. Vector、Sort课后题解
  11. Crtl+Enter提交留言
  12. 快速找出两个Word文档之间的差别
  13. 基础知识 | node js基础知识
  14. linux strace命令--跟踪系统调用
  15. 导数与微分 — 高等数学
  16. java两个frame之间_java – JFrame中的两个JPanel,另一个是JP
  17. 【讲座笔记】如何让你的皮肤变年轻?
  18. 牛X下载者木马清除方法。
  19. 【芝麻HTTP】被封IP如何用代理IP解决?
  20. C# 串口SerialPort方法详解

热门文章

  1. python+selenium自动识别简单验证码实现自动登录
  2. Android中使用dimen定义尺寸
  3. 简单易懂 LNMP 架构详解适合入门级别可跟做
  4. 大数据先导实践实验一
  5. 520谁才是你的真爱?
  6. Arduino——超声波测距
  7. restrict关键
  8. h3c linux驱动 wn612_产品技术-H3C WN612双频无线网卡(802.11n)-新华三集团-H3C
  9. c语言习题---(if语句)
  10. 当前时间、既定时间后的时间及时间比较大小(java实现)