摘要: 在开发商城系统的时候,大家会遇到这样的需求,商城系统里支持多种商品类型,比如衣服,手机,首饰等,每一种产品类型都有自己独有的参数信息,比如衣服有颜色,首饰有材质等,大家可以上淘宝看一下就明白了。现在的问题是,如果我程序发布后,要想增加一种新的商品类型怎么办,如果不在程序设计时考虑这个问题的话,可能每 阅读全文
posted @ 2017-02-25 18:10 杜现鹏 阅读(5028) 评论(13) 推荐(12) 编辑
摘要: 在mvc框架中,任何一个动作请求都会被映射到具体控制器中的方法上,那框架是如何完成这样一个过程的,现在我们就来简单分析下流程。 我们紧跟上面的主题,任何一个请求都会交给处理管道进行处理,那mvc处理的流程自然也应该处于这个管道中,在startup.cs文件的Configure方法中,我们会看到这样的 阅读全文
posted @ 2017-02-18 18:33 杜现鹏 阅读(690) 评论(2) 推荐(1) 编辑
摘要: 在大型网站系统中,为了提高系统访问性能,往往会把一些不经常变得内容发布成静态页,比如商城的产品详情页,新闻详情页,这些信息一旦发布后,变化的频率不会很高,如果还采用动态输出的方式进行处理的话,肯定会给服务器造成很大的资源浪费。但是我们又不能针对这些内容都独立制作静态页,所以我们可以在系统中利用伪静态 阅读全文
posted @ 2017-02-17 17:09 杜现鹏 阅读(3276) 评论(10) 推荐(6) 编辑
摘要: 在启动流程文章中提到,在WebHost类中,通过BuildApplication完成http请求处理管道的构建。在来看一下代码: 在框架中,一个中间件处理逻辑是使用一个RequestDelegate委托类型来表示的,定义:delegate Task RequestDelegate(HttpConte 阅读全文
posted @ 2017-02-15 14:27 杜现鹏 阅读(939) 评论(0) 推荐(2) 编辑
摘要: KestrelServer是基于Libuv开发的高性能web服务器,那我们现在就来看一下它是如何工作的。在上一篇文章中提到了Program的Main方法,在这个方法里Build了一个WebHost,我们再来看一下代码: 里面有一个UseKestrel方法调用,这个方法的作用就是使用KestrelSe 阅读全文
posted @ 2017-02-14 15:18 杜现鹏 阅读(1755) 评论(4) 推荐(7) 编辑
摘要: asp.net core mvc是微软开源的跨平台的mvc框架,首先它跟原有的MVC相比,最大的不同就是跨平台,然后又增加了一些非常实用的新功能,比如taghelper,viewcomponent,DependencyInjection等,现在开始asp.net core mvc剖析之旅。 任何应用 阅读全文
posted @ 2017-02-13 16:25 杜现鹏 阅读(2612) 评论(2) 推荐(2) 编辑
摘要: 前面的文章介绍了如何进行权限控制,即访问控制器或者方法的时候,要求当前用户必须具备特定的权限,但是如何在程序中进行权限的分配呢?下面就介绍下如何利用Microsoft.AspNetCore.Identity.EntityFrameworkCore框架进行权限分配。 在介绍分配方法之前,我们必须理解权 阅读全文
posted @ 2017-02-11 16:11 杜现鹏 阅读(14219) 评论(24) 推荐(16) 编辑
摘要: 在asp.net core mvc中提供了权限验证框架,前面的文章中已经介绍了如何进行权限控制配置,权限配置好后,权限验证逻辑自动就会执行,但是在某些情况下,我们可能需要在代码里或者视图中通过手工方式判断权限,我们现在就来介绍下具体的操作方法。 如果在控制器方法里想要判断当前用户是否具有某个权限,可 阅读全文
posted @ 2017-02-11 11:21 杜现鹏 阅读(2592) 评论(2) 推荐(2) 编辑
摘要: 在进行业务软件开发的时候,都会涉及到权限控制的问题,asp.net core mvc提供了相关特性。 在具体介绍使用方法前,我们需要先了解几个概念: 1,claim:英文翻译过来是声明的意思,一个claim包含Type,Value两项信息。我把claim理解成一个权限的定义,比如Type=会员,Va 阅读全文
posted @ 2017-02-11 11:19 杜现鹏 阅读(4046) 评论(3) 推荐(3) 编辑
摘要: 在asp.net core mvc中,如果有未处理的异常发生后,会返回http500错误,对于最终用户来说,显然不是特别友好。那如何对于这些未处理的异常显示统一的错误提示页面呢? 在asp.net core中提供了异常处理中间件,具体方法如下: IApplicationBuilder.UseExce 阅读全文
posted @ 2017-02-08 10:47 杜现鹏 阅读(1969) 评论(0) 推荐(2) 编辑