问题标签 [castle-monorail]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
189 浏览

asp.net-mvc - MVC Logic, Views and Helpers - A Specific Story

Me and a colleague are discussing how we would generate a link on a page. Should we use html helpers or keep very simple view logic in the view?

For this project we are using Castle Monorail and the NVelocity view engine. I would be grateful to anyone who considers both options below and gives their opinions.

In this story, the link is currently only used on a single page.

Option 1 - With Helper

Helper Code

And then in the view, we just call the helper like so:

Option 2 - All in the View

0 投票
1 回答
687 浏览

.net - 自动 HTML 编码 NVelocity 输出(EventCartridge & ReferenceInsert)

我想尝试让 NVelocity 在我的 MonoRail 应用程序中自动对某些字符串进行 HTML 编码。

我查看了 NVelocity 源代码,发现EventCartridge它似乎是一个可以插入以更改各种行为的类。

特别是这个类有一个ReferenceInsert方法,它似乎完全符合我的要求。它基本上在引用的值(例如 $foobar)获得输出之前被调用,并允许您修改结果。

我无法解决的是如何配置 NVelocity/MonoRail NVelocity 视图引擎以使用我的实现?

Velocity 文档建议velocity.properties 可以包含用于添加这样的特定事件处理程序的条目,但我在NVelocity 源代码中找不到查找此配置的任何地方。

非常感谢任何帮助!


编辑:一个简单的测试显示这个工作(概念证明而不是生产代码!)

0 投票
1 回答
166 浏览

castle-monorail - 用感叹号重写 url 时找不到控制器问题

在单轨列车中,我正在尝试创建一个 url 重写规则,以便为文章帖子提供友好的 url。网址如下所示:

http://domain.com/2010/11/29/Winter-snow-warning

这是 global.asax.cs 中用于重写 url 的代码:

这很好用,但是如果 url 中有感叹号:

http://domain.com/2010/11/29/Winter-snow-warning!!

然后它与重写规则不匹配并出错,说找不到控制器“2010”。我在这里错过了什么,这是单轨铁路中的错误吗?

0 投票
1 回答
376 浏览

http - Monorail - 使用 GET 而不是 POST 提交表单

我正在为基于 Castle MonoRail 的站点编写一些添加内容,其中涉及添加和编辑表单。添加表单工作正常并使用 POST,但编辑表单使用 GET。我能看到的唯一主要区别是使用查询字符串中正在编辑的对象的 ID 调用了 edit 方法。当在编辑表单上按下提交按钮时,传递的唯一参数就是这个对象 ID。这是编辑表单的代码:

这与添加形式之间的区别在于与关联相关的速度以及来自 PropertyBag 的输入值。

在控制器上处理这个的方法是这样开始的:

它可靠地被调用,但是 Params["Save"] 上的断点让我看到 HttpMethod 是“GET”,并且传递的唯一参数(在表单和请求中)是对象 ID 和其他 HTTP 标头。

归根结底,我对 MonoRail 并不熟悉,这对我来说可能是一个愚蠢的错误,但如果它能解决问题,我将非常感激被愚弄!:)

谢谢

0 投票
1 回答
369 浏览

nhibernate - Monorail、nhibernate 和 session-per-request 模式

我需要一些关于我即将对我们的网络应用程序进行重构的见解和想法。

我们最初通过使用 HttpApplication 中的 On_BeginRequest / On_EndRequest 来使用 NHibernate 和 ActiveRecord 的 session-per-request 模式来创建和处置会话。后来,我们意识到任何与 DB 相关的异常都被抛出了我们的 monorail-context,这意味着我们的救援没有开始。作为另一个副作用,我们没有选择完全跳过任何 NHibernate 会话的创建行动,这在某些情况下是可取的。

所以我们重写它以在我们的基本控制器的 Initialize() / Contextualize() 中创建会话,并将它们放置在我们的基本控制器的 Dispose() 中。我们还在救援控制器中回滚会话,以防止对数据库进行任何一半的写入更改。到目前为止,一切都很好。在 Dispose() 中这样做的原因是因为我们希望它能够通过视图渲染,因为延迟加载的原因以及需要获取会话的视图组件(我们可以切换到工作单元viewcomponents,但它们似乎没有 Dispose()...)

但是,我遇到了一些死锁问题,我们在数据库中开始了没有回滚或提交的事务,我无法理解它,主要是因为我们用这种方法弄得一团糟。 .

所以我找到了这篇文章:http ://hackingon.net/post/NHibernate-Session-Per-Request-with-ASPNET-MVC.aspx

我想,“过滤器,我们也可以在 MonoRail 中使用它!”,因为它可以在 BeforeAction 和 AfterRendering 中发挥作用。

那么我的问题是:

  1. 如果过滤器中出现异常会发生什么?
  2. 即使在动作或渲染中发生异常,AfterRendering 也会触发吗?
  3. 您会推荐这种方法吗?如果没有,您的建议是什么?

任何指针都非常感谢!

0 投票
1 回答
327 浏览

validation - MonoRail:如何删除原型验证?

我正在使用单轨维护一个应用程序,我们决定更改 Jquery 的验证方法。到目前为止一切都很好,但是......我遇到的问题是我无法摆脱对原型验证方法的引用。

问题是 Javascript 总是放在我创建的标签表单之后。

我一直无法找到有关单轨验证方法的明确文档。

这会在浏览器上产生一些错误,如下所示:

任何有关此文档或如何从单轨中删除此类验证的正确方式的帮助或指示,将不胜感激。

提前致谢

金属乔治

PS。我得说我对单轨电车还很陌生

0 投票
1 回答
327 浏览

asp.net-mvc - Castle Monorail 和 ASP.NET MVC 可以在同一个项目中共存吗?

我有一个大型 Monorail 项目,我们决定将其转移到 ASP.NET MVC。大多数底层系统可能是可重用的,但控制器当然必须重写,并且可能至少要重写一些视图。

让我印象深刻的是,一个低风险的途径是逐步将系统定义明确的部分转换为 MVC,也许作为 MVCContrib Portable Areas。有谁知道我可能会在这种方法中遇到任何不明显的陷阱?

感谢您的意见,马修

0 投票
2 回答
406 浏览

c# - 获取 Castle-Monorail 站点的当前会话?

我正在修改我继承的 Castle-Monorail 站点,发现查看当前在线用户列表会很有用。目前有过滤器可以确定谁可以访问网站的哪些部分,这样我就可以区分登录会话和未登录会话。是否有一种简单的方法可以获取活动会话列表,以便我可以确定谁已登录?

0 投票
3 回答
3259 浏览

castle-windsor - 城堡项目源码在哪里获取

城堡项目是开源的。我想知道在哪里可以获得它的源代码。我找不到它了。

0 投票
1 回答
40 浏览

routing - 检索已注册路由的列表

我正在尝试为一组使用单轨铁路构建的 Web 服务构建一个文档站点,并且想知道是否有办法获取在 RoutingModuleEx.Engine 中注册的路线列表?