我现在一直在使用MVC框架,我真的很喜欢这些问题是如何被分离出来的.我养成了让控制器完成相当多工作的坏习惯.所以我真的在寻找一些建议.
当我第一次开始使用MVC时,我常常让控制器在数据库工作完成后对模型进行操作.我知道这很糟糕所以将这项工作转移到模型中.但是我对此并不满意,因为我希望我的模型能够很好地学习.
我已经做了一些阅读,我看到人们通过提供服务层来保持他们的控制器和模型,我喜欢它的外观.
我只是想了解服务层和存储库应该如何协同工作.以下是我的假设,如果这是一种好的工作方式,请你告诉我吗?
我试图将我的所有代码都转换为单一责任原则,因此试图理清我的编码实践.
谢谢
我在使用Asp.Net构建应用程序方面有一些经验,但现在MVC框架变得更受欢迎.我想尝试使用Asp.Net MVC或Castle MonoRail构建新的多语言Web应用程序,但我不知道哪一个对我有好处.我不喜欢Web表单视图引擎,但我喜欢Asp.Net MVC中的路由功能.
我希望我的应用程序中的某些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执行我想要的操作?
我最后一次使用了一个非平凡的.Net/C#应用程序,我使用了Castle Monorail,总的来说,享受了这种体验.早期访问/预览版的.Net MVC尚未推出.许多"微软商店"现在都会发现"官方"解决方案更具吸引力.有没有人从单轨电车到.Net MVC.
你是怎么找到这个开关的?
目前最大的不同是什么?
我来自Ruby on Rails,我需要创建一个C#Web应用程序.目前我正在寻找ASP.NET MVC和MonoRail.我发现的大多数比较都是从2008年到2009年,当时ASP.NET MVC还是新的,而且针对MVC的大多数要点都是它太原始,不像MonoRail那么精致.
好吧,从那时起已有好几年了,微软在ASP.NET MVC上做了很多工作.两个框架的现代版本如何相互比较?
我想设置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
代码。
我正在尝试使路由模块使用默认操作或控制器,但事实并非如此.我总是面对404页面找不到.我忘记做某事吗?我非常喜欢在ASP.NET MVC功能中进行路由,但我不确定我是否可以在MR中执行相同操作.我正在使用IIS7与.NET 3.5的城堡主干的构建.
我正在将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)
我怎样才能实现这样的目标?
是否有一种简单的方法来解决以下问题.
假设我从我的模型中获取了一个IList,其中包含我控制器中的一些书籍.现在我想丰富输出并从外部框架中使用另一个模型从亚马逊获取预览并获得另一个IList.
现在我将两个IList放入一个属性包中.
在NVelocity中我使用#foreach作为BookList,但是如何使用正确的预览访问amazonbooklist?我不能使用$ amazonbook [index],其中index是isbn.我是否真的需要将两个列表放在一个大的列表中,并且只包含其他两个对象?
请记住,两个模型都来自不同的框架,不能放在一个框架中.两个框架都必须分开.我试着解决NVelocity问题和当然,这个问题只是一个例子,我们不卖书;)
在CastleMVC应用程序的控制器操作中,如何获取用户的IP地址?
我认为在asp.net mvc中它会是Request.ServerVariables["REMOTE_ADDR"]
,但我找不到Castle中的等价物.
(我知道潜在的代理问题等,请求中报告的地址很好)
castle-monorail ×12
c# ×8
asp.net ×4
asp.net-mvc ×4
.net ×3
date ×1
iis ×1
iis-7 ×1
iis-7.5 ×1
json ×1
nvelocity ×1
open-source ×1