• 《ASP.NET MVC 企业级实战》


    《ASP.NET MVC 企业级实战》

    ========== ========== ==========
    [作者] (中) 邹琼俊
    [出版] 清华大学出版社
    [版次] 2017年04月 第1版
    [印次] 2019年08月 第6次 印刷
    [定价] 89.00元
    ========== ========== ==========

    【第01章】

    (P021)

    只有在 Lambda 有一个输入参数时,括号才是可选的,否则括号是必需的。

    使用空括号指定零个输入参数。

    【第02章】

    (P037)

    EDM 中利用特性来标识实体映射到具体数据数据库中的 TableName ,属性对应的具体表的 ColumnName ,还有主键、外键、默认值等,都用特性来标识。然后通过反射技术, 从 EF 中 edmx 元数据获取数据库表的结构的描述,再根据增删改查操作方法,就可以产生对应的 SQL 语句,然后发送给 ADO.NET 负责从数据库中读取数据,返回给我们的 EF 。

    (P042)

    禁用延迟的方法有 ToList() 、 FirstOrDefault() 、 Include() 等。

    (P048)

    IQueryable 其实继承了 IEnumerable 。

    EF 不支持复杂类型 (如实体) 的直接检索,只能用简单类型,比如常用的标量类型 string 、 int 和 guid 。

    【第03章】

    (P083)

    控制器的约定大于配置 :

    1. Controller 放到 Controllers 文件夹中,并且命名方式以 Controller 结尾;

    2. 每个 Controller 都对应 View 中的一个文件夹,文件夹的名称跟 Controller 名相同。 Controller 中的方法名都对应一个 View 视图 (非必须,但是建议这么做) 而且 View 的名字跟 Action 的名字相同;

    3. 控制器必须是非静态类,并且要实现 IController 接口;

    4. Controller 类型可以放到其他项目中;

    视图的相关约定 :

    1. 所有的视图必须放到 Views 目录下;

    2. 不同控制器的视图用文件夹进行分割,每个控制器都对应一个视图目录;

    3. 一般视图名字跟控制器的 Action 相对应 (非必须) ;

    4. 多个控制器公共的视图放到 Shared 目录中;

    【第04章】

    (P085)

    dynamic 型与 object 型的区别是在使用时它会自动根据数据类型转换,而 object 型则需要自己去强制转换。

    (P087)

    ViewBag 其实就是 ViewData ,只是多了一层 Dynamic 控制,可以说它是另一种访问 ViewData 的方式。理论上 ViewBag 要比 ViewData 慢一点点,但是几乎可以忽略,所以使用任何方式完全取决于个人的爱好。

    (P090)

    当前台的 C# 代码有多行时,如果这些代码是连续的,中间没有 HTML 代码隔断,那么只需要开头的一个 @ 符号即可;否则 HTML 代码之后被隔断的 C# 代码开头需要加上 @ 符号。

    (P115)

    @Html.Editor / @Html.Display 可以通过读取特性值生成 HTML 。

    【第05章】

    (P134)

    Routing 的作用是 :

    1. 匹配传入的请求 (不匹配服务器物理文件),并将请求映射到 “控制器” 的具体操作 “Action 方法” 和 “参数” 中;

    2. 调用并执行对应控制器类的 Action 方法;

    {controller} 和 {action} 是特定参数名,不能改。

    (P135)

    不能有两个连续的 URL 参数,参数之间必须有字符隔开。

    (P141)

    推荐使用 @Scripts.Render 的形式,因为它支持压缩合并和服务器缓存。

    (P147)

    区域路由注册优先于普通路由注册。

    【第06章】

    (P181)

    @Html.AntiForgeryToken() 只能添加在 Html.BeginForm() 形式声明的表单中,纯 HTML 的 <form> 标签表单是不行的。

    【第07章】

    (P204)

    一个 Session 代表一个单线程的单元操作。 ISessionFactory 是线程安全的,很多线程可以同时访问它。 ISession 不是线程安全的,代表与数据库之间的一次操作。 ISession 通过 ISessionFactory 打开,在所有的工作完成后需要将其关闭。 ISessionFactory 通常是一个线程安全的全局对象,只需要被实例化一次。

    SessionFactory 的创建很占用系统资源,一般在整个应用程序中只创建一次。

    (P207)

    NHibernate 映射文件以 .hbm.xml 结尾。

    【第09章】

    (P256)

    没必要花太多的时间去钻研工作中用不到的东西,因为一个人的时间和精力都是有限的,说句现实的,你学的任何东西、只有真正用到了、有了产出才能体现出价值,对企业而言尤其如此。

    (P262)

    WCF 是 Windows 平台上开发分布式应用最佳的实践方式。

    (P270)

    每个 WCF 服务必须实现至少一个服务契约。使用服务契约必须要引用命名空间 System.ServiceModel 。

    (P271)

    ServiceHost 类型 : 当 IIS 和 WAS 作为宿主程序时, IIS 和 WAS 会自动创建 ServiceHost 类型。

    (P279)

    使用 js 的异步操作不支持跨域访问,也就是说 js 异步调用操作必须和 WebAPI 在同一个站点上。

    (P307)

    在进行技术选型的时候,不要追求最新的,而应当选择既能满足需求又运行非常稳定的。因为最新的技术不但相关资料少,而且也没有经过项目的实际验证,学习成本很高,风险较大。

    【第10章】

    (P325)

    搜索引擎一般不会执行 JS 、不会发 Post 请求、不会提交表单。

    (P327)

    SQL Server 的专业版才支持全文检索功能。

    (P333)

    永远不要对 bin / debug 下的东西做直接修改,而是要改 “源文件” 。

    (P356)

    尽量不要用 JavaScriptSerializer ,因为性能差,完全可以用 Newtonsoft.Json 来代替。

    【第11章】

    (P366)

    框架则是各种设计模式的集合。设计模式是解决某一类问题的方法。

    【第12章】

    (P434)

    在清楚需求之后,我们首先要做的就是技术选型。

    (P435)

    使用 EF Database First 方式需要注意的是 : 所有表必须设置主键,表和表之间的关系必须通过主外键进行关联。

    (P439)

    新建解决方案文件夹可以打包一些项目,让整个项目变得更清晰。

    (P459)

    DbContext 默认支持事务,当实例化一个新的 DbContext 对象时会创建一个新的事务,当调用 SaveChanges 方法时事务会提交。

    (P465)

    jQuery EasyUI 是一组基于 jQuery 的 UI 插件集合,而 jQuery EasyUI 的目标就是帮助 Web 开发者更轻松地打造出功能丰富并且美观的 UI 界面。开发者不需要编写复杂的 JavaScript ,也不需要对 CSS 样式有深入的了解,需要了解的只有一些简单的 HTML 标签。

  • 相关阅读:
    webpack4 plugins 篇
    webpack4 打包静态资源
    babel 7 简单指北
    JS: 深拷贝
    JS: 数组的循环函数
    async await 的执行
    redux
    TCP通信
    理解Javascript的原型和原型链
    「译」forEach循环中你不知道的3件事
  • 原文地址:https://www.cnblogs.com/GATTACA2011/p/12990907.html
Copyright © 2020-2023  润新知