Asp.Net MVC vs Castle MonoRail
我在使用ASP.NET构建应用程序上有一些经验,但是现在MVC框架变得更加流行.我想尝试使用使用ASP.NET MVC或Castle Monorail构建新的多语言Web应用程序,但我不知道哪一个对我有好处.我不喜欢Web表单视图引擎,但是我喜欢ASP.NET MVC中的路由功能. 任何人都可以讲述这些人之间的利弊吗? 哪个ViewEngine也更好地覆盖主模板? 解决方案 作为单轨铁路的拥护者说,我必须说您应该选择ASP.NET MVC.老实说,ASP.NET MVC将在三年内成为默认架构的简单事实可能会摆动.该方程在一年前是不同的,仅仅是因为与单轨相比,默认的体系结构具有严重的生产力问题. 如果您想谈论技术优势和缺点: asp.net ajax是一团糟(避免),但他们现在有jQuery.实际上,jQuery支持比任何其他环境都更好.当然,只有与标准视图引擎集成IDE. 有一些美学改进(例如,模型信息的传递方式比单轨更干净,更明显). 另外,请勿将标
4 2024-04-17
编程技术问答社区
服务层和存储库
我已经使用MVC框架了一段时间了,我真的很喜欢关注点如何分开.我养成了让控制器做很多工作的坏习惯.所以我真的在寻找一些建议. 当我刚开始使用MVC时,我经常在数据库工作完成后经常让控制器对模型进行操作.我知道这很糟糕,所以动了工作.但是我对此不满意,因为我希望我的模型非常学习. 我已经做了一些阅读,我看到人们通过拥有服务层来保持自己的控制器和模型,我喜欢它的外观. 我只是想了解服务层和存储库应如何共同工作.这是我的假设,您能否让我知道这是否是一种很好的工作方式? 如果不需要在数据上进行操作,则控制器可以直接调用存储库,因此服务层不需要参与 一旦需要对数据进行任何工作(业务逻辑),则应在服务层中完成,并且在需要时,控制器将对服务层进行简单的调用 一旦服务完成了其业务逻辑,它将根据需要使用存储库(如果需要持续存在数据). 理想情况下应该保持苗条,理想情况下是DTOS 的理想情况. 数据的验证将在模型中(使用单轨验证属性)进行.我什至不喜欢有人喜欢用很多属性污染
8 2024-04-17
编程技术问答社区
在ASP.Net MVC框架中是否有与Monorail视图组件相当的东西?
我大量使用 解决方案 实际上,您有几个选项可以根据组件的复杂性在ASP.NET MVC中创建相当于viewComponent的等效词.我使用这两种方法,这是我所知道的选项中更多的MVC. 1: 最简单的事情是创建一个ViewUserControl,并使用html.renderpartial与助手一起显示. ViewUserControl是一件简单的标记,没有备用控制器(我认为如果需要,您可以放置​​CodeBehind文件). 可选地,您可以将模型对象或整个ViewData字典传递到调用renderpartial时的视图,如以下: " topbar"是ASCX页面.这在任何地方,主页和正常视图中都可以在任何地方工作. 2: 如果您希望组件具有更复杂的逻辑或访问数据源,IOC等,则可以使用HTML.RenderAction,这是Microsoft.web.mvc Assembly中
8 2024-03-13
编程技术问答社区
在向服务器发送数据时,如何替代查询字符串和cookies?
我有一个ASP.NET/Castle单轨网站的小问题(或也许不是很小),用于我使用的产品.这是一个相当遗产的系统(在我时间之前写得很好),并且在查询字符串中使用了大量信息的获取请求.最近,我们遇到了查询字符串长度的限制,对于我们需要传输到服务器的数据量,将数据临时存储在cookie中也不是合理的(我们已经超过了每个cookie的4096字节限制,我们已经超过设置了很多cookie,所以我们也可能附近或处于每个域的cookie的极限.) 我想知道是否有其他选择(在某些情况下可能会更改为邮政请求,但可能不是所有的),这可能会解决此问题.我希望Stackoverflow上的其他人遇到了类似的问题,并且具有一些巫师解决方案(即用JavaScript压缩数据,编码为base64,传递到单个查询字符串项目?只是不确定是否有任何可以压缩的库用JavaScript的数据与.NET 3.5中的内置压缩类兼容.) 更新: 我最终选择的解决方案是将其发布到临时控制器上.这个温度控制器拉出了大
4 2024-03-10
编程技术问答社区
是否可以在Castle Monorail中使用System.Web.Routing?
在为ASP.NET构建城堡单轨应用时,是否可以使用Microsoft(或单声道)提供的System.Web.Routing而不是单轨路由的东西?关于如何将其作为解决方案实施的任何好的信息?优点和缺点? 解决方案 这很可能.您应该实现将在给定RequestContext中查找路由数据的ASP.NET的IRouteHandler,然后将数据交给Monorail. . 可以做的是几种方法.我猜server.rewritepath将起作用,但是您可以在两类单轨中更清洁查找代码,即MonorailHttpHandlerFactory和RoutingModuleEx,以找出如何返回MonoRailHttpHandler上的所需内容从IRouteHandler. 返回 至于问题 - 相反的情况非常棘手,即从控制器动作生成路由.
2 2024-03-10
编程技术问答社区
如何在ASP.NET中为不同的URL设置不同的超时时间
我想要应用程序中某些URL的不同连接限制.一些URL接受文件上传,需要具有较大的连接超时.所有其他URL都需要较小的超时来防止拒绝服务而不是浪费资源. 目前,我在IIS中设置了整个网站的连接超时属性,为60分钟.然后我在web.config中做到了: 所以我希望这能将所有URL设置为8分钟的超时,并允许WriteFile.Rails URL运行60分钟.相反,
12 2024-03-08
编程技术问答社区
自动对NVelocity输出进行HTML编码(EventCartridge & ReferenceInsert)。
我想尝试使Nvelocity自动编码我的Monorail应用中的某些字符串. 我浏览了nvelocity源代码并找到EventCartridge,这似乎是您可以插入各种行为的类. 特别是该类具有ReferenceInsert方法,它似乎完全可以做我想要的.它基本上是在参考值(例如$ foobar)输出之前被调用的,并允许您修改结果. 我无法解决的是如何配置nvelocity/单轨nvelocity视图引擎以使用我的实现? 任何帮助都非常感谢! 编辑:一个简单的测试,显示了此工作(概念证明,所以不是生产代码!) private VelocityEngine _velocityEngine; private VelocityContext _velocityContext; [SetUp] public void Setup() { _velocityEngine = new VelocityEngine(); _velocityEngi
6 2024-01-06
编程技术问答社区
单轨制ViewComponent中的模板
是否有可能在VM中具有HTML内容的模板,用于块组件? 我在html中做了很多东西,希望HTML驻留在一个.vm中,而不是在codebehind中. 这是我得到的: public class TwoColumn : ViewComponent { public override void Render() { RenderText(@" "); // Context.RenderBody(); Context.RenderSection("columnOne"); RenderText(@" "); Context.RenderSection("columnTwo"); Ren
18 2023-01-02
编程技术问答社区
如何:从网络服务中保存文件而不停止页面的渲染
我有一个带有两个页面的控制器,索引和下载时,在单击下载时会从服务中检索一个字节[],我使用wendesp.binarywrite来保存文件.问题在于,使用响应时.请透明它可以从渲染中停止下载页面,但成功下载了该文件.有什么方法可以下载文件并渲染页面? 我正在使用.NET 4,ASP,单轨城堡,C# 我知道,通过使用MVC,我能够使用Action Result和FileSult作为我的观点的返回类型,但是我仅限于使用Monorail Castle,因为它是我最近拥有的现有项目,并且没有刚刚改变其技术的权重. 下面是我的示例代码 public class MyController : Controller { public void Index() { PropertyBag["includeZeroBalances"] = false; PropertyBag["toDate"] = DateTime.Today.To
16 2023-01-02
编程技术问答社区
Extjs在成功创建记录时抛出异常 "realize was called with invalid remote-data"。
我正在单轨应用程序中使用extjs.我正在使用JSONSTORE将数据持续到控制器.我已经阅读,更新和删除正常工作.但是我似乎无法弄清楚如何将响应格式化回到创建中.目前,Firebug给我以下错误: 未被发现的例外: ext.data.datareader:#realize是 使用无效的远程数据调用. 请参阅文档 DataReader#实现并查看您的 DataReader配置. 我对WTF的错误表示这个错误.有人有指针吗?代码的相关位: var proxy = new Ext.data.HttpProxy({ api: { read: '../foo/bar.rnr', create: '../foo/CreateBar.rnr', update: '../foo/UpdateBar.rnr', destroy: '../foo/DeleteBar.rnr'
38 2022-09-18
编程技术问答社区
城堡单轨和ELMAH
有人成功使用 Castle MonoRail 和 ELMAH 吗? 我们正在使用许多 Resuce 向用户显示友好的错误消息,但如果我们这样做,异常永远不会像 MonoRail 救援拦截它们那样到达 ELMAH. 理想情况下,我们希望用户看到救援,但要在 ELMAH 中记录异常. 有什么想法/建议吗? 干杯, 杰. 解决方案 看了 Macka 贴的链接后,我写了这个简单的单轨异常处理程序: public class ElmahExceptionHandler : AbstractExceptionHandler { public override void Process(IRailsEngineContext context) { ErrorSignal.FromCurrentContext().Raise(context.LastException); } } 然后我在 web.config,monorail
74 2022-08-26
编程技术问答社区
CastleProject *.vm HttpForbiddenHandler不工作
我尝试使用http forbiddenhander阻止文件而不成功. Web.config如下: 我已经将虚拟目录设置为转发到aspnet_isapi.dll的.vm请求.基本上我遵循了本指南: http://support.microsoft.com/kb/815152 任何想法为什么它不起作用?我正在使用Windows XP + IIS 5.1来测试它. 更新:将我推到地狱的进一步诊断测试.我尝试删除.config在ISAPI列表中的绑定,
382 2022-07-19
编程技术问答社区
服务器.TransferRequest在特定服务器上返回空白页面
我面临着似乎与配置有关的问题. 我有一个基于MONORALIP的WebApplication,我们利用MONORAIL使用路由功能.在应用程序启动后的第一个请求上,路由未初始化.为了规避此项,我在application_onError()中有以下代码: public virtual void Application_OnError() { if ( // identified as routing error ) Server.TransferRequest( Context.Request.RawUrl, false ); return; } 问题Beeing在我们的开发服务器上(使用IIS 7.5和.NET 3.5运行Server 2008 R2),返回没有标题的空页,但在我的工作站上(运行Win7,IIS 7.5和.NET 3.5)它工作罚款. 是什么原因?如果application_onError()中的代码抛出异常,则预期输出将是什
1388 2022-07-19
编程技术问答社区