更多
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分 作者:叶飞 修改

源栈培训:ASP.NET-16:EF-事务和UoW(Message演示)

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

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

源栈培训:ASP.NET-14:项目架构进化-单元测试

什么是单元测试?飞哥的定义:开发人员自己用代码实现的测试。其核心:主体:开发人员,不是测试人员。途径:代码实现实质:是一种测试争议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 依赖注入
2019年07月22日 12点19分 作者:叶飞 修改

源栈培训:ASP.NET-12:项目架构进化-Repoistory和Entity

当前用户(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 架构优化
2019年07月20日 23点13分 作者:叶飞 修改

源栈培训:ASP.NET-15:EF-关联增删改查

通过Linq查询,我们能获得entity本身,但entity关联(related)的数据呢?比如,Blog.Posts……加载(load)模式 EF提供了三种加载关联数据的模式即时(Eager)加载:关联的数据会立即,亦即在query表达式被执行时被加载using (var context = new BloggingContext()){var blogs = context.Blogs.Include(blog => blog.Posts) //blog的Posts现在就从数据库中取出来了. ……

源栈培训 EF 关联 增删改查
2019年07月20日 17点50分 作者:叶飞 修改

源栈培训:ASP.NET-10:EF-Context和基本增删改查

从一个错误开始 运行在SuggestService.Publish()中的如下语句Suggest suggest = new Suggest{Author = new UserRepository().GetById(authorId),//导致异常的语句Body = body,Title = title,//PublishedTime = DateTime.Now};suggest.Publish();return _suggestRepository.Save(suggest);问题的关键就在于:每一 ……

源栈培训 EF 简单 增删改查
2019年07月18日 23点24分 作者:叶飞 修改

源栈培训:ASP.NET-9:EF的复杂映射

定义表和列:可以使用OnModelCreating()protected override void OnModelCreating(ModelBuilder modelBuilder){modelBuilder.Entity<User>().ToTable("User") //表名改成User.Property(u => u.Name) .IsRequired(); //Name列不能为空}也可以使用Data Annotations[Required]public string N ……

源栈培训 EF 复杂映射
2019年07月18日 13点51分 作者:叶飞 修改

源栈培训:ASP.NET-8:DBFactory构建数据库

为什么需要Factory?一个可控的开发/测试用数据库至关重要!反正你都要“做”数据,干嘛不把数据做得更好一些呢?(每次登陆都先去注册一次?或者先去数据库查看一次?你也看不到原始密码啊……)混乱的数据库,会:崩溃系统隐藏bug让开发和测试变得异常困难记住:很多事情,从一开始就严格执行比后期扭转容易得多。当然,你对“有没有后期”都没信心,当我没说,^_^----------------------------项目管理和系统架构,很多时候,都是在未来收益和前期投入之间做取舍。所以,项目管理究竟是科学,还是艺术 ……

源栈培训 ASP.NET 数据库
关键字



帮助

反馈