更多
2019年08月09日 13点02分 作者:叶飞 修改

源栈培训:ASP.NET MVC-6:配置和日志

Config配置文件 作用:提供一个集中的位置用于存放项目的各种配置信息特点:项目只在启动时读取一次就将其内容缓存(高性能)但在配置上面所做的更改不需要重启项目就可以立即生效machine.config和web.config(或:app.config)当.NET安装的时候,就自动的带了一个machine.config,放置在C:\WINDOWS\Microsoft.NET\Framework\[Version]\CONFIG目录下,该文件包含了所有的全局的配置该目录下同时还有一些web.config文件, ……

源栈培训 ASP.NET 配置 文件上传
2019年08月05日 22点56分 作者:叶飞 修改

源栈培训:ASP.NET MVC-5:注入和欺骗

病从口入:小心用户输入Script注入我有一个idea:在我发布的内容里面写上一段JavaScript代码……(演示:略)MVC:抛异常,需要[AllowHtml]和@Html.Raw()RazorPage:已编码,需要@Html.Raw()为什么需要@Html.Raw()?富文本编辑(如:ueditor)和CSS样式。后台如何过滤?两种策略:白名单:只允许使用白名单中的标签,推荐!黑名单:禁止黑名单中出现的标签工具:正则匹配SQL注入实际上已经不太可能出现。为了演示,我们需要首先学习参数化查询:首先将S ……

源栈培训 ASP.NET 安全 注入
2019年08月05日 19点02分 作者:叶飞 修改

源栈培训:ASP.NET MVC-4:性能:Bundle和Cache

总结:页面传值 页面之间其实不能传值(复习:HTTP无状态)。所谓页面传值,指的是把在一个页面(后台)生成的值,传递给另外一个页面(后台)。所有的“页面传值”都是通过“迂回”的方法:cookie:数据传回客户端,再传到另一个页面session:传送方式同cookie,但数据存放在服务器端query string:数据通过url参数传递hidden field:WebForm的ViewState实现机制,只有当被传值页面向服务器提交时有用TempData:RazorPage和MVC内置,可由cookie(默 ……

源栈培训 ASP.NET 性能
2019年08月04日 21点28分 作者:叶飞 修改

源栈培训:ASP.NET MVC-3:安全:Action Filter

适用于Action或者整个Controller特性按接口可分为四种Filter:IAuthorization:Authorization: 用于验证IActionFilter:ContextPerRequestIResultFilter: IExceptionFilter:HandleError 按顺序依次执行同种Attribute,使用Order区分内置ActionFilterAttributeActionExecutingContext演示:取HttpCcontext/Controller/Actio ……

源栈培训 ASP.NET MVC
2019年08月02日 11点52分 作者:叶飞 修改

源栈培训:ASP.NET MVC-2:ActionResult

常用的有以下几种:ViewResult最最常见的内容,返回的就是整个页面PartialViewResult也非常常见,返回的是一个部分页面。在功能上最大的区别是ChildAction可以,也可以ajax的时候,RedirectResultRedirectToRouteResultFileResult(FilePathResult、FileContentResult、FileStreamResult)动态生成的图片(因为静态的图片基本上用不着这样弄)验证码JsonResultJavaScriptResult ……

源栈培训 ASP.NET MVC
2019年08月01日 12点23分 作者:叶飞 修改

源栈培训:ASP.NET MVC-1:项目架构

引子:RazorPage是在MVC的基础上发展起来的,深入学习Razor Page,绕不开MVC。而且,MVC也才是这几年前最主流的技术初始MVC基于.NET Framework(演示:略)核心的三个文件夹,以及他们的关系Route配置注意:还是要先有route,将URL转换成Handler(MVC里就是Controller和Action)配置位置:RouteConfig.RegisterRoutes()解释默认配置:routes.MapRoute(name: "Default",url: "{contr ……

源栈培训 ASP.NET MVC
2019年07月31日 23点51分 作者:叶飞 修改

源栈培训:ASP.NET-X:Route机制

所谓“页面传值” 页面之间其实不能传值(复习:HTTP无状态)。所谓页面传值,指的是把在一个页面(后台)生成的值,传递给另外一个页面(后台)。所有的“页面传值”都是通过“迂回”的方法:cookie:数据传回客户端,再传到另一个页面session:传送方式同cookie,但数据存放在服务器端query string:数据通过url参数传递hidden field:WebForm的ViewState实现机制,只有当被传值页面向服务器提交时有用TempData:RazorPage和MVC内置,可由cookie( ……

源栈培训 ASP.NET route
2019年07月29日 20点29分 作者:叶飞 修改

源栈培训:持久化:EF-5:事务和UoW

事务 依赖于数据库支持。换言之,数据库不支持事务,就没有事务了哟……默认的,调用SaveChanges()时,自动触发事务机制。即:只要SaveChanges()的有一个(SQL)操作失败,所有操作操作回滚;只有所有操作都成功,事务才提交。但如果一次Http请求需要调用多次SaveChanges()呢?Unit Of Work(UoW) 简单理解:在BLL层面上的事务。在DbContext第一次构建的时候声明事务:public Repository(DbContext context){_dbContex ……

源栈培训 ASP.NET UoW 消息机制
2019年07月26日 14点02分 作者:叶飞 修改

源栈培训:C#基础:单元测试

什么是单元测试?飞哥的定义:开发人员自己用代码实现的测试。其核心:主体:开发人员,不是测试人员。途径:代码实现实质:是一种测试争议TDD测试驱动(Test-Driven Devolpement),其核心:先写单元测试,再写未实现的开发代码测试,无法通过实现开发代码通过测试NUnit微软在开源/社区的路上一路狂奔:从什么都要自己有,向借用(不是借鉴)乃至大力支持一切优质开源项目!前景可期。演示:新建一个NUnit测试项目,测试双向链表,略SetUpTestTearDown先睹为快是不是debug? ……

源栈培训 单元测试 NUnit
2019年07月25日 16点40分 作者:叶飞 修改

源栈培训:ASP.NET-13:项目架构进化-依赖注入和ContextPerRequest

当前用户(CurrentUser) 会被大量使用,所以首先想到的就是在PageModel的基类_LayoutModel中引入public int? CurrentUserId{get{string fromSession = HttpContext.Session.GetString("UserName");if (string.IsNullOrEmpty(fromSession)){return null;}return JsonConvert.DeserializeObject<UserMode ……

源栈培训 ASP.NET 依赖注入
关键字



帮助

反馈