Tag: asp.net mvc 4

没有模型和entity framework的ASP.NET MVC

我将ASP.Net应用程序迁移到ASP.NET MVC,我想避免使用模型和entity framework。 相反,我将使用方法来指导访问数据库。 我的问题是,这有可能吗? 两种方式之间的性能差异是什么? 谢谢。

使用asp.net MVC Wrapper在Kendo UI Grid中格式化DateTime

我想构建一个格式为日期dd // MM / yyyy的Kendo UI Grid。 但是,我发现的所有问题都是用代码格式(“{0:d}”)解决的; 。 所以,我尝试过如下代码: GridBoundColumnBuilder builder = par.Bound(field.Name); switch (field.Type.Type) { case CType.Boolean: builder = builder.ClientTemplate(string.Format(“”, field.Name)); break; case CType.Datetime: builder = builder.Format(“{0:d}”); break; case CType.Decimal: case CType.Double: builder = builder.Format(“{0:0.00}”); break; } 另一种格式工作正常,只是DateTime不起作用。 我有这个结果的日期时间= /日期(1377020142000)/

集成测试数据库,我做得对吗?

我想测试依赖于数据库并使用数据库的MVC4应用程序中的方法。 我不想使用模拟方法/对象,因为查询可能很复杂,并且为此创建测试对象需要付出太多努力。 我发现集成测试的想法将测试的数据库操作逻辑包装在TransactionScope对象中,该对象在完成后回滚更改。 不幸的是,这不是从一开始就是一个空的数据库,它也使主键计数(即,当数据库中已经有一些项目时,主键1和2然后在我运行测试之后,它依赖于4),我不想要这个。 这是一个“集成测试”我想出来测试产品是否实际添加(例如,我想创建更难的测试,一旦我拥有正确的基础设施,检查方法)。 [TestMethod] public void ProductTest() { // Arrange using (new TransactionScope()) { myContext db = new myContext(); Product testProduct = new Product { ProductId = 999999, CategoryId = 3, ShopId = 2, Price = 1.00M, Name = “Test Product”, Visible = true }; // Act db.Products.Add(testProduct); db.SaveChanges(); // Assert Assert.AreEqual(1, db.Products.ToList().Count()); […]

ASP.NET Web API从模型 – 帮助页面生成所有参数

我正忙着创建Web API(在asp mvc4应用程序中)。 我正在使用asp.net网站上建议的库来生成文档( http://www.asp.net/web-api/overview/creating-web-apis/creating-api-help-pages )。 我的问题是,如果我的参数是模型,那么我无法在生成的帮助页面中指定模型包含的属性。 这是一个例子: 模型: public class TestModel { property String FirstName {get;set;} property String Surname {get; set;} property Boolean Active {get;set;} } 行动: /// /// This is a test action /// /// this is the model <– this works /// This is the first name <– doesn't work /// This […]

使用父模型值进行子模型validation。 流利的validation。 MVC4

以下是我的问题的简化版本。 我不能压扁模型。 我需要一个“孩子”列表来validation生日。 我似乎无法在Parent类中引用日期,并想知道如何在Fluentvalidation中完成此操作? 模型 [Validator(typeof(ParentValidator))] public class Parent { public string Name { get; set; } public DateTime Birthdate { get; set; } public List Children { get; set; } } public class Child { public string ChildProperty{ get; set; } public DateTime Birthdate { get; set; } } validation器 public class ParentValidator : […]

DataAnnotation比较两个属性

在允许发布表单之前,有没有办法使用数据注释来比较两个表单字段(例如确认电子邮件地址)是否相同? 例如。 正则表达式数据注释可以使用匹配函数来引用ViewModel中的另一个属性吗?

会话超时在asp.net mvc 4 C#中不起作用。 为什么?

对于我的网站,我在web.config文件中配置了1周的登录会话超时 这是登录的代码 [AllowAnonymous] [HttpPost] public ActionResult Login(string Login, string Password) { // empty passwords are not allowed if (Password == “”) return Redirect(Request.UrlReferrer.ToString()); bool LoginResult = WebSecurity.Login(Login, Password, true); return Redirect(Request.UrlReferrer.ToString()); } 我登录,关闭浏览器并再次打开它去我的网站 – >用户已登录。我关闭浏览器,等待一段时间(约30分钟)转到我的网站 – >用户已注销。 为什么? 会话应存储7天,但我们甚至没有30分钟。 Whan可能是问题的根源? 编辑1 主要想法是我想在几天内回到网站并仍然使用登录用户打开它

同一解决方案中的MVC和Web Api项目

我有一个MVC 4项目坐在N层应用程序的顶部。 我现在要求能够以编程方式使用应用程序。 我在同一个解决方案中创建了一个新的Web Api项目,它位于MVC项目的旁边,再次位于N层应用程序的顶部。 但我不清楚这一切是如何起作用的,因为MVC层是启动项目:它设置我的DI,自动播放器等,并且是我部署到服务器的项目。 那么这一切应该怎么设置呢? 我可以设置我的MVC项目来将所有/ api请求路由到新的Web Api项目吗? 或者Web Api项目是否需要单独部署? 我不想做任何非常规的事情,所以如果有更常见的方式来设置这个,请指出我正确的方向。 谢谢。

ASP.NET Web Api作为一个解决方案中的独立项目

如果我想使用WebAPI作为服务连接到不同服务器上的多个数据库并检索我的MVC应用程序将使用的数据,那么最好的方法是什么? 我不希望ApiController与我的MVC项目在同一个项目中,所以我需要添加一个新的WebApi项目(删除所有除了控制器和模板添加的东西都有一个干净的项目)我的MVC应用程序会参考吗? 这是我用来了解WebAPI的教程/博客文章列表: ASP.NET Web API – 具有可下载示例代码的Screencast系列 http://weblogs.asp.net/jgalloway/archive/2012/03/16/asp-net-web-api-screencast-series-with-downloadable-sample-码部分1.aspx 使用HttpClient使用ASP.NET Web API服务 http://debugmode.net/2012/03/03/creating-first-http-service-using-asp-net-web-api-part1-of-many/ http://debugmode.net/2012/03/ / 07 /使用-HttpClient的-第2部分-的-许多消费-ASP网的Web-API服务 使用ASP.NET Web API和MVC4的CRUD操作 http://www.dotnetglobe.com/2012/03/crud-operation-using-aspnet-web-api-in.html http://www.dotnetglobe.com/2012/03/crud-operation-using-aspnet -Web-API in_28.html 为ASP.Net Web API oData服务创建.Net可查询客户端 http://blog.petegoo.com/index.php/2012/03/11/creating-a-net-queryable-client-for-asp-net-网上API-的OData服务/ 使用HttpClient来使用ASP.NET Web API REST服务 http://www.johnnycode.com/blog/2012/02/23/consuming-your-own-asp-net-web-api-rest-service/ 使用ASP.NET Web API的客户端支持 https://msmvps.com/blogs/theproblemsolver/archive/2012/03/13/client-side-support-with-the-asp-net-web-api.aspx 创建和使用ASP.Net Web API REST服务 – MVC4 http://www.askamoeba.com/Opensource/Opensourcedetail/144/Create-and-Consume-ASP-Net-Web-API-REST-Services-MVC4 使用MediaTypeFormatter和OData支持使用ASP.NET Web API构建和使用REST服务 http://robbincremers.me/2012/02/16/building-and-consuming-rest-services-with-asp-net-web-api-and-odata-support/ 将JSON.NET与ASP.NET Web API结合使用 http://blogs.msdn.com/b/henrikn/archive/2012/02/18/using-json-net-with-asp-net-web-api.aspx 在ASP.NET Web […]

ResouceManager有时会错误地加载ASP.Net MVC资源文件

概观 我们有一个跨国网站,为其服务的各个国家/地区提供本地化内容。 使用标准.Net资源文件实现此本地化。 当我们的Web应用程序在生产环境中启动或回收负载时,有时会显示特定国家/地区的错误资源。 例如,英国网站可能会显示法语内容。 这将继续发生,直到重新启动应用程序。 详情 生产环境是Windows Server 2012上的IIS 8.应用程序在ASP.Net MVC 4中实现。 应用程序决定传入URL所服务的区域设置。 所以www.mysite.com将是英国英语www.mysite.fr将是法语等。 我们有一个IHttpModule的实现,它通过Web.config注册。 在模块的Init方法中,它将一个处理程序附加到BeginRequest事件。 在此方法中,将检查传入的URL,并将线程的CurrentUICulture设置为适当的值。 en-GB代表www.mysite.com,fr-FR代表www.mysite.fr等。 该系统在大多数情况下运行良好。 但是,有时当应用程序在接收请求时启动时,它将始终为某些资源文件提供错误的内容。 它将继续执行此操作,直到重新启动应用程序。 它可能会再次重新启动提供错误的内容。 我们必须继续重新启动,直到它提供正确的内容,此时它将保持稳定。 分析 通过在启动期间向应用程序发送请求(使用Fiddler),我们已经能够在开发PC上本地重现这一点。 该网站显示了英国版网站上某些资源文件的德语内容。 检查了代码中明显的罪魁祸首(HTTP模块正确设置了CurrentUICulture并在整个请求处理过程中保持正确),我们开始查看资源管理器。 在应用程序以不正确的状态启动时,我们检查了ResourceManager类上_resourceSets属性的内容。 这是一个以ISO文化代码为主的字典。 检查en-GB的内容,我们发现它确实包含了德语版资源文件中的资源字符串。 似乎有时,当站点在接收请求时启动时,ResourceManager类正在为文化加载错误的资源文件,或者它在字典中对文件进行了错误的分类。 有没有其他人经历过这种行为,是否有人知道任何变通办法? 谢谢。