Tag: asp.net mvc

为我的MVC应用程序创build一个服务层?

据我所知,MVC通过作为控制器的“粘合剂”将演示文稿(视图)中的类定义(模型)分开。 控制者应该有一个单一的责任,因此是可以testing的。 ViewModel用于将来自多个实体的数据汇总在一起,并从控制器中“按摩”数据以获得视图。 这似乎是业务逻辑没有真正的地方…所以我认为另一层服务将是合适的。 我只是不知道在哪里放置这个层,或者如何构build服务 – 它应该是一个叫做“services”的类,它包含一系列函数吗? 我对MVC有点新,所以任何阅读材料,样本或一般新人types的提示都会很棒。

mvc:favicon.ico也查找控制器吗?

我收到一个错误: “path控制器”/favicon.ico“未find或未实现IController” 然后我想:框架如何知道哪些文件必须实例化一个控制器,因为对于脚本,css和其他文件同样如此? (从来没有想到,但现在的图标抱怨,我想知道….) 但回到错误,为什么会发生?

如何为ASP.NET MVC 2创build自定义成员资格提供程序?

如何基于ASP.NET成员资格提供程序为ASP.NET MVC 2创build自定义成员资格?

无法加载文件或程序集“Microsoft.Web.Infrastructure,

我试图上传我的网站到服务器。 这与我的本地主机工作正常,所以我上传我的本地主机wwwroot文件夹中的一切到服务器,并更改连接string。 但是有这个错误: Exception information: Exception type: InvalidOperationException Exception message: The pre-application start initialization method Start on type RouteDebug.PreApplicationStart threw an exception with the following error message: Could not load file or assembly 'Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.. at System.Web.Compilation.BuildManager.InvokePreStartInitMethods(ICollection`1 methods) at System.Web.Compilation.BuildManager.CallPreStartInitMethods() at […]

GET和POST方法在同一个Controller中具有相同的Action名称

为什么这是不正确的? { public class HomeController : Controller { [HttpGet] public ActionResult Index() { Some Code–Some Code—Some Code return View(); } [HttpPost] public ActionResult Index() { Some Code–Some Code—Some Code return View(); } } 我怎样才能有一个控制器回答一件事什么时候“得到”和一个什么时候“张贴”?

为什么没有Guid.IsNullOrEmpty()方法

这让我想知道为什么.NET中的Guid没有IsNullOrEmpty()方法(其中空表示全零) 在编写REST API时,我需要在ASP.NET MVC代码中的几个地方使用它。 还是我错过了一些东西,因为互联网上没有人要求这样做?

asp.net mvc开发人员的最佳实践

道歉的问题是如此的主观。 我正在寻找一些如何在asp.net mvc应用程序中更好地pipe理javascript的实际例子。 在jQuery之前,我尽量避免使用javascript。 现在我使用了很多,但是觉得我可能已经错过了一些在大型Web应用程序中构build我的JavaScript代码的最佳实践/build议。 有些我感到内疚并想要离开的东西: 内嵌的JavaScript在我的意见。 我并不是在谈论大量的代码,但在每个视图上都有一些初始化代码并不罕见。 一个大的“网站”JavaScript文件。 随着我的应用程序中使用的插件列表增长(例如jquery ui),我的“启动”function也正在初始化每个插件。 通常这是为了避免问题1(添加JavaScript内联)。 也许每个视图的JavaScript文件是一个更好的解决scheme? 一切似乎都非常程序化。 我习惯在.net中以面向对象的方式工作,但是当涉及到javascript时,这似乎是在窗口外面。 现在我知道OOP肯定是可能的,并鼓励使用JavaScript,但我可以做一些实际的例子,我应该如何做一个真正的Web应用程序的上下文。 命名空间/项目结构 – 我已经看到了一些JavaScript命名空间的例子(借助于对象),并且喜欢这个方法,但是可以用更多的背景知识来做。 任何网站,书籍等,人们可以推荐将不胜感激。

ASP.NET MVC的最佳存储库模式

我最近学习ASP.NET MVC(我喜欢它)。 我正在与一家公司使用dependency injection来加载每个请求中的存储库实例,我熟悉使用该存储库。 但是现在我正在写一些我自己的MVC应用程序。 我并不完全了解我公司使用的存储库的方式和原因,我正在试图确定实现数据访问的最佳方法。 我正在使用C#和entity framework(与所有最新版本)。 我看到了三种处理数据访问的一般方法。 每次访问数据时,使用语句中的常规数据库上下文。 这很简单,它工作正常。 但是,如果两个位置需要在一个请求中读取相同的数据,则必须读取两次数据。 (每个请求使用一个存储库,两个地方都使用相同的实例,我知道第二次读取只是从第一次读取返回数据。) 典型的存储库模式 。 由于我不明白的原因,这个典型的模式涉及到为数据库中使用的每个表创build一个包装类。 这对我来说似乎是错误的。 实际上,由于它们也是作为接口来实现的,所以在技术上我会为每个表创build两个包装类。 EF为我创build表格。 我不相信这种方法是有道理的。 还有一个通用的存储库模式 ,其中创build单个存储库类来为所有实体对象提供服务。 这对我来说更有意义。 但是对别人有意义吗? 链接是否是最好的方法? 我很想得到这个话题的其他人的意见。 你正在编写自己的存储库,使用上述之一,或完全不同的东西。 请分享。

在MVC中最好拥有巨大的控制器或许多控制器?

我们正在ASP.NET MVC中构build一个相当大的HR应用程序,到目前为止,我们的控制器变得相当大。 例如,我们有一个员工控制器,包括所有员工的意见(个人信息,员工扣除,家属等)。 每个视图都可能有多个操作或子视图(例如CRUD)。 每个动作都比较小,但是控制器可能有几十个function。 有没有最佳的做法分裂控制器? 而不是拥有几十个视图的员工控制器,它会更好,每个子types(即EmployeePersonalInfoController,EmployeeDeductionController,EmployeeDependentController)有一个控制器? 最后,它甚至重要吗? 更新说明 我最初的担心是与CRUD行动。 例如,让我们考虑创build和删除… EmployeeController中的当前操作 : CreateEmployee() DeleteEmployee() CreateEmployeeDeduction() DeleteEmployeeDeduction() CreateDependent() DeleteDependent() etc. 如果控制器分裂: EmployeeController Create() Delete() EmployeeDeductionController Create() Delete() EmployeeDependentController Create() Delete() EmployeeBenefitController Create() Delete() etc. 在第一种情况下,我们的〜100个屏幕被分成8-10个大的控制器。 第二,我可能有50个控制器。

我如何在ASP.NET MVC中支持ETags?

我如何在ASP.NET MVC中支持ETags?