草庐IT

lib.web.mvc

全部标签

c# - DTO 加上 UnitOfWork 模式是为 Web 应用程序设计 DAL 的好方法吗?

我正在使用EntityFramework实现DAL。在我们的应用程序中,我们有三层(DAL、业务层和表示层)。这是一个网络应用程序。当我们开始实现DAL时,我们的团队认为DAL应该有一些类,其方法接收业务层服务提供的ObjectContext并对其进行操作。该决定背后的基本原理是不同的ObjectContext看到不同的数据库状态,因此某些操作可能会由于外键匹配问题和其他不一致问题而被拒绝。我们注意到,从服务层生成和传播对象上下文会在层之间产生高耦合。因此我们决定使用Automapper映射的DTO(不是非托管实体或自跟踪实体争论高耦合,将实体暴露给上层和低效率)和UnitOfWork

c# - 如何在不使用 HttpContext 的情况下获取 Web 应用程序的当前配置?

我需要在我的Web应用程序中获取当前配置的实例。我发现我可以通过以下方式获取:Configurationconfiguration=WebConfigurationManager.OpenWebConfiguration(HttpContext.Current.Request.ApplicationPath);但是在我项目的某些部分我没有HttpContext所以我需要在不使用HttpContext的情况下获取配置实例。 最佳答案 你是对的Lubochkn~成功了......_webConfigurationManager=WebC

c# - 在 ASP.NET MVC3 模型绑定(bind)器中使用依赖注入(inject)

我正在MVC3网站上工作,尝试使用Ninject来解决我的依赖关系。我有以下场景:publicclassUserModelBinder:IModelBinder{//[Inject]publicUserDataServiceuserData{get;set;}publicobjectBindModel(ControllerContextcontrollerContext,ModelBindingContextbindingContext){GuidUserID=(Guid)Membership.GetUser().ProviderUserKey;//userDataService=De

c# - Web API 性能?

我在想,WebApi连同路由机制的工作方式是读取http动词(GETPOST等...),然后搜索匹配的方法名称/参数:例如:如果是GET并且URI是api/Customers/5:方法应该以Get开头如果它有ID,那么搜索一个接受int作为参数的方法。等(还有更多规则)。我主要相信他们是使用反射来做到的。问题:对于每个URI请求,搜索所有这些数据只是为了附加一个方法,这不是对性能造成影响吗?我在哪里可以轻松地从客户端发送一个非常短的字符串,这将暗示服务器端的方法?为什么不用简单的方法呢?好的,因为我们想使用http动词作为含义。好的。但是这么多操作只是为了执行一个方法示例#1获取api

c# - 如何在 MVC Web API 发布方法中将 ModelState 错误返回给 Kendo 网格?

我一直没能找到一个Kendo+MVCWebAPI的例子,其中post/update方法返回验证错误。看起来没有可以使以下代码工作的Kendo扩展。publicHttpResponseMessagePost([ModelBinder(typeof(Prototype.WebApi.ModelBinders.DataSourceRequestModelBinder))][DataSourceRequest]DataSourceRequestrequest,Useruser){if(this.ModelState.IsValid){//save}returnRequest.CreateErr

c# - Web API 2/MVC 5 : Attribute Routing passing parameters as querystring to target different actions on same controller

我一直在玩新的WebAPI2(顺便说一句,它看起来很有前途),但我有点头疼要让一些路由正常工作。当我有GetAllUsers/GetUser(intid)时一切正常,但是当我添加GetUserByName(stringname)和/或GetUserByUsername(stringusername)时,事情开始变得令人毛骨悚然。我知道int将是第一个,我可以重新排序路由,但让我们想象一下以下场景:用户可以有一个有效的username=1234或name=1234(我知道这不太可能,但我们需要防止任何可能的情况)并且我们可能有一个有效的1234数据库中的ID和所有路由将混淆。也许这是我们

c# - MVC 4 中的只读属性

当嘟嘟声说,我尝试使用它但无法正常工作。我不确定它是如何工作的以及它的功能。那么这个内置属性ReadOnly有什么用呢?任何输入将不胜感激。谢谢。 最佳答案 我假设您在View中使用此属性,如EditorFor?然后使用:[Editable(false)]publicstringMyProperty{get;set;}或@Html.TextBoxFor(x=>x.MyProperty,new{readonly="readonly"})如果您想要一个类的只读公共(public)属性,请使用:publicstringMyProperty

c# - Web Api 2 API 无法识别路由的多个属性(版本控制)

我正在尝试同时实现AttributeRouting和来自RoutingConstaintsSample的VersionedRoute但是当我在Controller上同时使用两者时,versioned属性不再有效。我需要对属性进行哪些修改才能使其与属性路由配合使用?对于代码示例,请下载示例项目(或者只查看上面链接中的几个文件),然后这样修改路由://WhenIusetheRoutePrefix,VersionedRoutenolongerworks(Sending"Api-Version"throughhttpheaderdoesn'troutecorrectly//IfIremovet

c# - ASP.Net MVC 回发和模型

这主要是本期评论的后续,但我没有足够的声誉来发表评论......ASP.NetMVCPostbackalabelvaluetoyourcontroller假设我有一个简单的模型:publicclassSimpleClass{publicStringLabel{get;set;}publicStringFirstName{get;set;}}标签根据用户/客户端更改,因此它不能是DataAttribute。如果回发处理时出现问题,我们需要重绘整个页面。这就是上一篇文章的症结所在。公认的解决方案是这样做:@Html.DisplayTextFor(model=>model.Label)@Ht

c# - 执行时 ASP.Net MVC "Could Not Load Type"

我有一个非常简单的ASP.NetMVC应用程序,它是根据在线教程生成的。我已完全按照它一步一步地进行,并尝试了多次,但在执行代码时不断出现相同的错误。该程序仅显示一个索引页面,该页面使用linqtosql列出了来自sqlserver数据库的一系列数据。这是错误:无法加载类型“MvcApplication1.Views.Home.Index”。知道问题出在哪里吗? 最佳答案 可能的答案在这里:http://www.jondavis.net/techblog/post/2009/04/29/Set-Up-IIS-For-An-MVC-A