Tag: asp.net mvc 4

为什么我们不能像在WCF或ASMX中那样在Visual Studio中添加Web API作为“服务引用”?

我决定将Web API(作为中间层)用于我正在开发的应用程序,但似乎无法弄清楚如何将其“绑定”到前端(前端是ASP.NET MVC4项目)。 通常,我只需右键单击前端的服务,选择“添加服务引用”,然后将我的服务的URL放入。但是使用Web API,我不能这样做。 从我的前端使用的Web API创建客户端代理类有哪些选择,为什么不像添加WCF或ASMX那样将Web API支持作为引用添加?

自定义身份validation和ASP.NET MVC

我有一个在ASP.NET 4中构建的内部Web应用程序。 我们很难使用其他团队构建的身份validationAPI。 如果该站点的用户已成功通过该站点的身份validation,我希望他们可以访问整个站点。 在ASP.NET WebForm时代,我只是习惯在会话中保留自定义User对象。 如果该对象为null,我知道用户未经过身份validation。 在MVC是否有类似但改进的方法。 如果可能的话,我不想构建自己的ASP.NET Membership模型提供程序。 这样做最简单的方法是什么?

ASP.NET MVC 4,EF5,模型中的独特属性 – 最佳实践?

ASP.NET MVC 4,EF5, Code First ,SQL Server 2012 Express 在模型中强制使用唯一值的最佳做法是什么? 我有一个具有’url’属性的places类,对于每个地方都应该是唯一的。 public class Place { [ScaffoldColumn(false)] public virtual int PlaceID { get; set; } [DisplayName(“Date Added”)] public virtual DateTime DateAdded { get; set; } [Required(ErrorMessage = “Place Name is required”)] [StringLength(100)] public virtual string Name { get; set; } public virtual string URL { get; […]

如何使用Entity framework 5和MVC 4创建审计跟踪

我正在使用EF 5构建MVC 4应用程序。我需要执行审计跟踪,即记录最终用户所做的任何更改。 我已经问了几次这个问题,但之前没有真正得到满意的答案。 所以我希望在某个地方添加更多细节…… 目前我有多个存储库 即 public class AuditZoneRepository : IAuditZoneRepository { private AISDbContext context = new AISDbContext(); public int Save(AuditZone model, ModelStateDictionary modelState) { if (model.Id == 0) { context.AuditZones.Add(model); } else { var recordToUpdate = context.AuditZones.FirstOrDefault(x => x.Id == model.Id); if (recordToUpdate != null) { recordToUpdate.Description = model.Description; recordToUpdate.Valid = model.Valid; recordToUpdate.ModifiedDate […]

在ASP.NET MVC中,我视图中最好的显示未处理的exception是什么?

我在web.config中有以下内容: 我有一个 [HandleError] 在我的HomeController类的顶部。 为了测试,我创建和操作只是抛出一个exception。 。 它重定向到我的 ErrorController/Index 方法,但当它到达我的视图绑定到HandleErrorInfo我的模型为null所以我不知何故失去了对错误的引用。 我确信它与错误在重定向中丢失有关,所以我想看看我是否遗漏了一些东西,如果有人有建议我可以有一个显示Stacktrace和错误消息的视图。

带有Npgsql的entity framework6

我想在ASP.NET MVC 4项目中使用Entity Framework 6和PostgreSQL。 我得到了Entity Framework 6.0.2 + Npgsql 2.0.14.3,但是我收到了错误。 我该如何解决? 错误: mscorlib.dll中出现“System.InvalidOperationException”类型的exception,但未在用户代码中处理 附加信息:entity framework提供程序类型’Npgsql.NpgsqlServices,Npgsql,Version = 2.0.14.3,Culture = neutral,PublicKeyToken = 5d8b90d52f46fda7’的’Instance’成员未返回inheritance自’System.Data.Entity的对象。 Core.Common.DbProviderServices’。 entity framework提供程序必须从此类inheritance,并且“实例”成员必须返回提供程序的单例实例。 这可能是因为提供者不支持entity framework6或更高版本; 有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkId=260882 。 Web.config文件

如何在.NET MVC的多个视图中重用DropDownList

我项目中的几个视图都有相同的下拉列表… 所以,在该视图的ViewModel中我有: public IEnumerable FooDdl { get; set; } 在控制器中我有: var MyVM = new MyVM() { FooDdl = fooRepository.GetAll().ToSelectList(x => x.Id, x => x.Name) } 到目前为止一切都那么好……但我在每个具有该ddl的视图/控制器中执行相同的代码… 这是最好的方法吗? 谢谢

如何使用带有进度条的ASP.NET MVC4 Web Api上传大文件

如何使用ASP.NET MVC4 Web Api上传大文件 并取得进展? 我看到这篇文章,我明白如何处理上传的文件,但我如何获得进度数据? 如何接受文件POST 请不要发送链接上传产品。 我想了解如何在MVC4 Web Api中处理这个…这里是一个在MVC4 WebApi中处理文件上传的示例代码 public async Task Post() { if (Request.Content.IsMimeMultipartContent()) { var path = HttpContext.Current.Server.MapPath(“~/App_Data”); var provider = new MultipartFormDataStreamProvider(path); await Request.Content.ReadAsMultipartAsync(provider).ContinueWith(t => { if (t.IsFaulted || t.IsCanceled) throw new HttpResponseException(HttpStatusCode.InternalServerError); }); return Request.CreateResponse(HttpStatusCode.OK); } else { throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotAcceptable, “This request is not properly formatted”)); […]

处理不同文化validation的最佳方法是什么?

我正在尝试构建一个多语言MVC应用程序。 我的应用程序中有一个表单,我有字段输入成本。 我能够使用西class牙文化创建一个记录。 但是在尝试更新记录时,我得到了jqueryvalidation错误。 我收到一条默认错误消息: 该字段必须是数字。 在我的视图模型中,我设置了以下属性。 [LocalizedDisplayName(“Label_Cost”)] [RegularExpression(“^[^,]+$”, ErrorMessage = null, ErrorMessageResourceName = “Error_Message_Html_Tags_Prevented”, ErrorMessageResourceType = typeof(Resources))] [Range(0, 9999.99, ErrorMessage = null, ErrorMessageResourceName = “Error_Message_Cost_Not_Valid”, ErrorMessageResourceType = typeof(Resources))] public decimal? Cost { get; set; } 我已经在我的Gobal.asax文件中设置了以下内容 protected void Application_AcquireRequestState(object sender, EventArgs e) { try { HttpCookie cookie = HttpContext.Current.Request.Cookies.Get(“CurrentCulture”); string culutureCode = cookie != […]

如果我希望使用ASP.NET MVC4创建ApiKey受限资源,我应该使用IAuthorizationFilter吗?

我有一些简单的路由,我希望通过一个简单的查询字符串参数进行限制。 如果密钥不正确或未提供,那么我希望抛出NotAuthorizedException 。 请不要建议我使用WebApi或等效 – 我不能在这种情况下使用。 所以我不确定我是应该实现IAuthorizationFilter还是实现IActionFilter甚至是其他东西。 我的代码逻辑? 检查查询字符串是否有关键。 检查我的RavenDb(存储库)以查找具有该键/值的用户。 如果它们未通过任何这些检查,则抛出NotAuthorizedException 。 我假设我会用这个filter装饰我的动作方法。 我还假设我需要将我的存储库传递给这个动作方法吗? 有什么建议吗?