Castle-MonoRail配置[webConfig]
MonoRail配置
MonoRail配置
1.webConfig
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section
name="monorail"
type="Castle.MonoRail.Framework.Configuration.MonoRailSectionHandler, Castle.MonoRail.Framework" />
</configSections>
<monorail useWindsorIntegration="true|false"
checkClientIsConnected="true|false"
smtpHost=""
>
<controllers>
<assembly>ProjectAssembly</assembly>
</controllers>
<!--
Custom Factories should be configured on the services node.
The following is supported to be backward compatible
-->
<customControllerFactory type="type name that implements IControllerFactory" />
<customComponentFactory type="type name that implements IComponentFactory" />
<customFilterFactory type="type name that implements IFilterFactory" />
<!-- <controllers>
<assembly>AssemblyName1</assembly>
<assembly>AssemblyName2</assembly>
</controllers> -->
<viewcomponents>
<assembly>AssemblyName1</assembly>
<assembly>AssemblyName2</assembly>
</viewcomponents>
<!--
设置模板引擎 要解释的根目录
-->
<viewEngine
viewPathRoot="views"
customEngine="ViewEngine.Type.Name, Assembly">
<additionalSources>
<assembly name="" namespace="" />
<assembly name="" namespace="" />
</additionalSources>
</viewEngine>
<!-- List of services ids:
Custom
ControllerFactory
ViewEngine
ViewSourceLoader
ViewComponentFactory
FilterFactory
ResourceFactory
EmailSender
ControllerDescriptorProvider
ResourceDescriptorProvider
RescueDescriptorProvider
LayoutDescriptorProvider
HelperDescriptorProvider
FilterDescriptorProvider
EmailTemplateService
ControllerTree
CacheProvider
ScaffoldingSupport
-->
<services>
<service
id="[see list above]"
type="Service.Type.Name, Assembly"
interface="optional" />
</services>
<extensions>
<extension type="Extension.Type.Name, Assembly" />
<extension type="Extension.Type.Name, Assembly" />
</extensions>
<!--routing节点下可以设置Url重写规则,如符合(/blog/posts/)("d+)/("d+)/(.)*$<规则将被跳转到/blog/view.rails?year=$2&month=$3 页面去
$1表示()出现的位置
-->
<routing>
<rule>
<pattern>(/blog/posts/)("d+)/("d+)/(.)*$</pattern>
<replace><![CDATA[ /blog/view.rails?year=$2&month=$3 ]]></replace>
</rule>
<rule>
<pattern>(/news/)("d+)/("d+)/(.)*$</pattern>
<replace><![CDATA[ /news/view.rails?year=$2&month=$3 ]]></replace>
</rule>
</routing>
</monorail>
<system.web>
<!-- ××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
ASP.NET HTTP 处理程序是响应对 ASP.NET Web 应用程序的请求而运行的过程(通常称为“终结点”)。
最常用的处理程序是处理 .aspx 文件的 ASP.NET 页处理程序。用户请求 .aspx 文件时,页通过页处理程序来处理请求。
--------
同理:这里的配置节通知 所有*.rails文件的请求将由MonoRailHttpHandlerFactory来进行处理
××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
-->
<httpHandlers>
<add
verb="*"
path="*.rails"
type="Castle.MonoRail.Framework.MonoRailHttpHandlerFactory, Castle.MonoRail.Framework" />
</httpHandlers>
<!-- ××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
这里配置Aps.net中的HttpModula由Castle.MonoRail接管
×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××× -->
<httpModules>
<add
name="monorail"
type="Castle.MonoRail.Framework.EngineContextModule, Castle.MonoRail.Framework" />
</httpModules>
</system.web>
</configuration>
2.IIS
在ISAPI扩展中添加 *.rails 扩展
3.Nevlocity配置
webconfig
设置模板根目录, viewPathRoot="views" 表示模板文件存放于根目录下的Views文件夹中
模板文件扩展名均以 *.vm
<viewEngine
viewPathRoot="views"
customEngine="Castle.MonoRail.Framework.Views.NVelocity.NVelocityViewEngine, Castle.MonoRail.Framework.Views.NVelocity" />
</viewEngine>
解决模板解析输出后的乱码问题:需在申明的目录下 创建文件 nvelocity.properties
文件内容为:input.encoding=GB2312 或 input.encoding= utf-8 (如果web站点为Application方式时,需将文件属性 设置为 “嵌入资源”)
output.encoding=GB2312 output.encoding= utf-8
分类:
Castle-MonoRail
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!