标签: castle-monorail

服务层和存储库

我现在一直在使用MVC框架,我真的很喜欢这些问题是如何被分离出来的.我养成了让控制器完成相当多工作的坏习惯.所以我真的在寻找一些建议.

当我第一次开始使用MVC时,我常常让控制器在数据库工作完成后对模型进行操作.我知道这很糟糕所以将这项工作转移到模型中.但是我对此并不满意,因为我希望我的模型能够很好地学习.

我已经做了一些阅读,我看到人们通过提供服务层来保持他们的控制器和模型,我喜欢它的外观.

我只是想了解服务层和存储库应该如何协同工作.以下是我的假设,如果这是一种好的工作方式,请你告诉我吗?

  1. 如果不需要对数据进行操作,则控制器可以直接调用存储库,因此服务层不需要涉及
  2. 一旦需要对数据(业务逻辑)进行任何工作,那么这应该在服务层完成,并且控制器将在需要时对服务层进行简单调用.
  3. 一旦服务完成了它的业务逻辑,它就会根据需要使用存储库(如果需要保留数据).
  4. 理想情况下,模型应该保持精益,理想情况下,行动只不过是DTO
  5. 数据验证将在模型中完成(使用MonoRail验证属性).我很感激甚至没有人喜欢用很多属性污染他们的模型,但这是一个不同的讨论.我喜欢MonoRail的验证属性,可以在UI中自动进行jQuery验证.

我试图将我的所有代码都转换为单一责任原则,因此试图理清我的编码实践.

谢谢

c# model-view-controller castle-monorail repository-pattern

47
推荐指数
3
解决办法
7899
查看次数

Asp.Net MVC vs Castle MonoRail

我在使用Asp.Net构建应用程序方面有一些经验,但现在MVC框架变得更受欢迎.我想尝试使用Asp.Net MVC或Castle MonoRail构建新的多语言Web应用程序,但我不知道哪一个对我有好处.我不喜欢Web表单视图引擎,但我喜欢Asp.Net MVC中的路由功能.

  • 任何人都可以讲述这些之间的利弊吗?
  • 哪个ViewEngine更适合覆盖主模板?

c# asp.net-mvc castle-monorail

27
推荐指数
3
解决办法
9373
查看次数

如何为ASP.NET中的不同URL设置不同的超时

我希望我的应用程序中的某些URL具有不同的连接限制.某些URL接受文件上载,并且需要具有较大的连接超时.所有其他URL都需要更小的超时,以防止拒绝服务而不浪费资源.

目前我在IIS中为整个站点设置了连接超时属性为60分钟.然后我在web.config中这样做了:

<system.web>
    <httpRuntime executionTimeout="480" maxRequestLength="1024" />
</system.web>

<location path="FileUpload/WriteFile.rails">
    <system.web>
        <httpRuntime executionTimeout="3600" maxRequestLength="512000" />
    </system.web>
</location>
Run Code Online (Sandbox Code Playgroud)

所以我希望这会将所有URL设置为8分钟超时,并允许WriteFile.rails URL运行60分钟.相反,允许所有URL运行60分钟.如何让IIS执行我想要的操作?

asp.net iis iis-7 castle-monorail iis-7.5

18
推荐指数
1
解决办法
3万
查看次数

从Monorail到ASP.Net MVC

我最后一次使用了一个非平凡的.Net/C#应用程序,我使用了Castle Monorail,总的来说,享受了这种体验.早期访问/预览版的.Net MVC尚未推出.许多"微软商店"现在都会发现"官方"解决方案更具吸引力.有没有人从单轨电车到.Net MVC.

你是怎么找到这个开关的?
目前最大的不同是什么?

.net c# asp.net-mvc castle-monorail

8
推荐指数
1
解决办法
1858
查看次数

寻找ASP.NET MVC和MonoRail之间的现代比较

我来自Ruby on Rails,我需要创建一个C#Web应用程序.目前我正在寻找ASP.NET MVC和MonoRail.我发现的大多数比较都是从2008年到2009年,当时ASP.NET MVC还是新的,而且针对MVC的大多数要点都是它太原始,不像MonoRail那么精致.

好吧,从那时起已有好几年了,微软在ASP.NET MVC上做了很多工作.两个框架的现代版本如何相互比较?

.net c# castle-monorail web-frameworks asp.net-mvc-3

7
推荐指数
1
解决办法
804
查看次数

如何格式化要由 jQuery 序列化的 javascript 日期

我想设置javascript date,以便它可以通过提交JSON一个.NET类型,而是试图做到这一点时,jQuery设置date一个完整的string,它有什么样的格式要在转换为一个.NET类型?

var regDate = student.RegistrationDate.getMonth() + "/" + student.RegistrationDate.getDate() + "/" + student.RegistrationDate.getFullYear();
j("#student_registrationdate").val(regDate); // value to serialize
Run Code Online (Sandbox Code Playgroud)

MonoRail在服务器上使用来执行对.NET类型的绑定,除此之外我需要知道将表单隐藏字段值设置为什么,以正确发送到.NET代码。

c# serialization json castle-monorail date

6
推荐指数
1
解决办法
2669
查看次数

使用IIS 7进行城堡MonoRail路由?

我正在尝试使路由模块使用默认操作或控制器,但事实并非如此.我总是面对404页面找不到.我忘记做某事吗?我非常喜欢在ASP.NET MVC功能中进行路由,但我不确定我是否可以在MR中执行相同操作.我正在使用IIS7与.NET 3.5的城堡主干的构建.

.net c# model-view-controller asp.net-mvc castle-monorail

6
推荐指数
2
解决办法
3922
查看次数

Unity:建立一本字典

我正在将Castle/Monorails应用程序转换为Unity/Asp.NET MVC,我不得不尝试转换此组件配置:

<component
  id="ComponentBaseConfiguration"
  service="MyFakeNamespace.BOL.IConfiguration, MyFakeAppDll"
  type="MyFakeNamespace.BOL.ConfigurableConfiguration, MyFakeAppDll">
  <parameters>
    <!-- Setting Configuration (Dictionary<string,string>)-->
    <Config>
      <dictionary>
        <entry key="localHost">#{LocalHost}</entry>            
        <entry key="contentHost">#{ContentHost}</entry>
        <entry key="virtualDir">#{VirtualDir}</entry>            
      </dictionary>
    </Config>
  </parameters>
Run Code Online (Sandbox Code Playgroud)

似乎Unity支持Array但不支持Dictionary,我想做这样的事情:

<unity>
<containers>
    <container>
        <types>
            <type name="ComponentBaseConfiguration" type="MyFakeNamespace.BOL.IConfiguration, MyFakeAppDll" mapTo="MyFakeNamespace.BOL.ConfigurableConfiguration, MyFakeAppDll">
                <typeConfig extensionType="Microsoft.Practices.Unity.Configuration.TypeInjectionElement, Microsoft.Practices.Unity.Configuration">
                    <property name="Config" propertyType="System.Collections.Generic.Dictionary`2[[System.String, mscorlib], [System.String, mscorlib]],mscorlib">
                        <dictionary>
                            <entry key="localHost">127.0.0.1</keyedValue>
                            <entry key="contentHost">\\content</keyedValue>
                            <entry key="virtualDir">/</keyedValue>
                        </dictionary>
                    </property>
                </typeConfig>
            </type>
        </types>
    </container>
</containers></unity>
Run Code Online (Sandbox Code Playgroud)

我怎样才能实现这样的目标?

c# asp.net castle-monorail unity-container

6
推荐指数
1
解决办法
3645
查看次数

NVelocity,foreach和两个列表存在问题

是否有一种简单的方法来解决以下问题.

假设我从我的模型中获取了一个IList,其中包含我控制器中的一些书籍.现在我想丰富输出并从外部框架中使用另一个模型从亚马逊获取预览并获得另一个IList.

现在我将两个IList放入一个属性包中.

在NVelocity中我使用#foreach作为BookList,但是如何使用正确的预览访问amazonbooklist?我不能使用$ amazonbook [index],其中index是isbn.我是否真的需要将两个列表放在一个大的列表中,并且只包含其他两个对象?

请记住,两个模型都来自不同的框架,不能放在一个框架中.两个框架都必须分开.我试着解决NVelocity问题和当然,这个问题只是一个例子,我们不卖书;)

nvelocity castle-monorail

5
推荐指数
2
解决办法
1513
查看次数

4
推荐指数
1
解决办法
347
查看次数

你如何在Castle MVC(Monorail)中获得用户的IP地址?

在CastleMVC应用程序的控制器操作中,如何获取用户的IP地址?

认为在asp.net mvc中它会是Request.ServerVariables["REMOTE_ADDR"],但我找不到Castle中的等价物.

(我知道潜在的代理问题等,请求中报告的地址很好)

c# asp.net asp.net-mvc castle-monorail

4
推荐指数
1
解决办法
4241
查看次数

改善MonoRail

我们知道它缺乏文档,但您希望看到哪些其他部分有所改进?

asp.net open-source castle-monorail

3
推荐指数
1
解决办法
453
查看次数