读书笔记[ASP.NET+MVC4+Web+编程]

  1. 模型:数据和业务逻辑
  2. 视图:展示
  3. 控制器:接收视图输入数据,通过模型层业务逻辑处理后 返回给视图
  4. 分离关注点(模型 视图 控制器)、惯例优先原则
  5. browser-->routing-->controller<--view-->browser
  6. 控制器是告诉下一步该做什么而不是该怎么做,如显示视图则返回actionresults。
  7. 定位视图:优先查找对应文件夹,其次查找shared文件夹
  8. razor:代码段、代码块
  9. 部分视图 @Html.Partial(),PartialView() 可返回给axaj
  10. 控制器传递数据给视图:viewdata 和 viewBage(dynamic)
  11. 视图模型:viewdata.model 强类型试图:@model 类型
  12. HtmlHelper:@Html 生成html
  13. UrlHelper:@Url 生成url
  14. 数据模型、域模型
  15. web form 和 后台web组件(asp.net)
  16. HTTP是无状态的:asp.net是视图状态
  17. 基本区别
    asp.net mvc
    视图逻辑结合 分离
    页面 URL基于文件访问  有路由URL查找控制器
    状态管理 视图 无自动化视图管理
    web form语法 razor语法
    服务器控件 HTML帮助方法
    母板 布局
    用户控件 部分视图
  18. 都能使用路由,但mvc离不开,web from则是为了优化
  19. HTMLhelp能创建自己的方法
  20. 对象关系映射框架 orm(object relational mapping)
  21. entity framework:code-first、model-first、database-first。
  22. 模型数据验证System.ComponentModel.DataAnnotations()
  23. [System.ComponentModel.DataAnnotations.Range(typeof(DateTime),"2010-01-01","2015-02-02",ErrorMessage="错过了")]
  24. 可自定义验证方法
  25. code-first:System.Data.Entity.DbContext 连接字符串KEY与基类名称相同:connectionStrings
  26. ajax:xmlhttprequest对象 先open(设置为异步和回调函数) 后send 后判断status==200和readystate==4
  27. mvc开启客户端验证
  28. 控制器:拦截用户输入,协调模型和视图及其通讯
  29. 模型:数据属性、数据验证、业务逻辑
  30. 视图:渲染UI、绑定模型
  31. 发送到另一层之前检查输入数据
  32. 单一职责原则(srp)、开放封闭原则(ocp 对扩展开放,对修改关闭)、里氏替换原则(lsp)、接口隔离原则(isp)、依赖倒置原则(DIP)
  33. 控制反转:依赖注入和服务定位http://www.cnblogs.com/tylerdonet/p/3297915.html
  34. ActionFilter
  35. 客户端模板:mustache.js
  36. 操作过滤器:实现对请求前后的处理,标记方法
  37. 模型绑定器
  38. jsonp实现跨域ajax请求
  39. web api使用的是 RouteTable.MapHttpRoute()
  40. web api 名称优先 GET PUT POST DELETE
  41. oDATA:开放数据协议 CRUD
  42. web api 中HttpResponseException,可使用异常过滤器,全局注册或属性标注,可重写
  43. Media格式化器:创建后全局注册,可序列化accept中MIME类型
  44. Rest full 风格:
    1. GET /tickets # 获取ticket列表
    2. GET /tickets/12 # 查看某个具体的ticket
    3. POST /tickets # 新建一个ticket
    4. PUT /tickets/12 # 更新ticket 12.
    5. DELETE /tickets/12 #删除ticekt 12
  45. POCO朴素的旧的CLR对象,代表业务实体类模型,专注业务不需要数据库结构
  46. repository模式:资源库、仓储 数据库访问模式,负责持久化应用业务模型,有一对一、聚合根、泛型一对多
  47. 引用类型:==引用 equals值
  48. mvc防御csrf:使用@html.antiforgerytoken(),然后方法上标记.
  49. jQuery.Mobile.MVC nuget 开发手机版,修改bundles
  50. 手机版:以 action.mobile.cshtml 格式
  51. _ViewSwitcher 部分视图可在手机版和电脑版切换
  52. viewport 设置屏幕旋转宽度问题
  53. 51degrees来增强设别能
  54. AsyncController异步控制器
  55. 路由顺序重要
  56. 异步操作主要用于I/O绑定操作(比如数据库访问和远程服务调用等),有2中方法实现异步
    1. *Async/*Completed
    2. public Task<*> M(){ return  }
    3. AsyncManager.OutstandingOperations.Decrement();
  57. WebSocket
  58. SignalR:集线器和永久连接
  59. 服务端缓存(
    1. 请求域中的缓存HttpContext.Items
    2. Session(可存外部)
    3. Application由IIS管理应用程序级别,可跨进程
    4. System.Web.Cache(缓存依赖策略)
      1. http://www.cnblogs.com/kissdodog/archive/2013/05/07/3064895.html
  60. 客户端缓存
  61. MVC可标记outputCacheAttribute属性实现HTML页面缓存
    1. 可配置缓存时间、位置(浏览器or服务端)
    2. VaryByParam属性只有当?参数有效
    3. 可使用Profiles在web.config中配置
  62. this代表扩展string类public static int WordCount(this String str)
  63. 甜甜圈缓存:WriteSubstitution可部分不缓存
    1. MvcDonutCachingNuGet包可以实现高级操作
  64. web农场之物理上独立的服务器集群,web园是指应用程序池包含多个工作进程
  65. AppFabricMemcached、Redis
  66. HTML5缓存:appcache,js本地存储
  67. Yslow 检测web性能
  68. Url越短越好、破折号代替下划线、使用小写字母
  69. MVC路由参数以常量字符串分割{p1}-{p2}-{p3},参数默认为string类型
  70. 路由通配符{controller}/{action}/{*queryValues},控制器操作后面的字符串均算作最后一个参数的值
  71. 拒绝所有aspx请求参数allaspx:routes.IgnoreRoute("{*allaspx}",new {[email protected]".*\.aspx(/.*)?"});
  72. 可通过正则表达式设置路由约束
  73. 可自定义路由约束方法 
  74. 使用Glimpse观察路由
  75. 可实现基于属性标记的路由
  76. Razor单文件生成器
  77. RenderAction()
  78. 控制器操作异常处理,可全局注册[HandleError(ExceptionType=typeof(System.Data.DataException),View="DatabaseError")]
  79. 重写控制器onException()方法实现异常处理
  80. 自定义错误过滤器
  81. ASP.NET健康监控
  82. 单元测试(类或方法)【自治的、可重复的、独立的、快速的】
  83. 集成测试(测试多个组件之间的交互)
  84. 验收测试(符合需求)
  85. 测试驱动开发(TDD)红灯-绿灯-重构
  86. TestInitialize()初始化公共测试参数
  87. 模拟测试框架 如Moq framework
  88. 自动化浏览器测试WatiN
  89. 代码覆盖率 100行测试了70行
  90. 自动化生成Microsoft MSBuild和TeamFoundation Server
  91. Martin Fowler的书籍:1.分析模式 2.UML精髓 3.重构 4.企业应用架构模式 5.Nosql精髓
  92. Windows Azure
  93. NuGet
    1. https://npe.codeplex.com/releases/clickOnce/NuGetPackageExplorer.application
    2. http://kb.cnblogs.com/page/143191/
    3. https://www.nuget.org/account/Packages
    4. http://www.cnblogs.com/daxnet/archive/2013/05/07/3064577.html 
时间: 2024-10-30 19:04:49

读书笔记[ASP.NET+MVC4+Web+编程]的相关文章

初入码田--ASP.NET MVC4 Web应用之创建一个空白的MVC应用程序

初入码田--ASP.NET MVC4 Web应用开发之一  实现简单的登录 初入码田--ASP.NET MVC4 Web应用开发之二 实现简单的增删改查 2016-07-29 再次之前,需要一台电脑(- ̄▽ ̄)-,以及Visual Studio 2013或者更高版本,SQL Sever数据库(暂时不用) 新建项目 下面会出现选择模板选项(我们选择的是MVC模板) 其中,在创建MVC模板时会有身份验证选项.可选择添加的文件夹和核心引用(Web Form和Web API)以及单元测试选项 身份验证分

《软件测试自动化之道》读书笔记 之 底层的Web UI 测试

<软件测试自动化之道>读书笔记 之 底层的Web UI 测试 2014-09-28 测试自动化程序的任务待测程序测试程序  启动IE并连接到这个实例  如何判断待测web程序完全加载到浏览器  操纵并检查IE Shell  操作待测Web页面上的HTML元素的值  验证Web页面上HTML元素  示例代码 测试自动化程序的任务 底层技术的核心是,通过直接调用mshtml.dll和shdocvw.dll库来访问并且操纵IE客户区域的HTML对象. 待测程序 新建一个网站“WebAUT”,删除原来

[读书笔记]白帽子讲WEB安全-第二章

声明:     读书笔记是我在阅读过程中做的一些笔记,并在其中添加自己的思考.文章中会涉及到部分书籍原文内容,如有侵权,请联系告知并删除.     原文一切版权归本书作者所有,其他思考痕迹保留所有权. ======================================== 第2章 浏览器安全 2.1 同源策略 同源策略(Same Origin Policy)是一种约定,它是浏览器最核心也是最基本的安全功能. 浏览器的同源策略,限制了来之不同源的"document"或脚本,对当

浅谈ASP.NET MVC4 Web应用开发之一 实现简单的登录

2016-07-24 一.创建一个属于自己的ASP.NET MVC Web应用程序 新建项目-->模板-->Visual C#-->Web->选择ASP.NET Web应用程序 选择MVC,视图引擎默认为Razor,创建单元测试项目不勾选,更改身份验证(无身份验证) 这样就创建好了一个基本的ASP.NET MVC Web应用程序了O(∩_∩)O~~ 二.创建T4模板,建立与SQL Sever数据库的连接(有两种形式:我们后面使用方法1)  右键[Models]-->添加--&

Asp.net MVC4高级编程学习笔记-模型学习第五课MVC表单和HTML辅助方法20171101

MVC表单和HTML辅助方法 一.表单的使用. 表单中的action与method特性.Action表示表单要提交往那里,因此这里就有一个URL.这个URL可以是相对或绝对地址.表单默认的method属性值是get,如果看到表单没有写method属性那就是表示method是get方式提交.另外一种就是post方式. 当使用HTTP Get请求时,浏览器会提取表单中元素的name特性值及相应的value特性值放到查询字符串中.如:http://localhost?search?id=1 如果不想把

【读书笔记】iOS-使用Web Service-基于客户端服务器结构的网络通信(一)

Web Service技术是一种通过Web协议提供服务,保证不同平台的应用服务可以互操作,为客户端程序提供不同的服务. 目前3种主流的Web Service实现方案用:REST,SOAP和XML-RPC.XML-RPC和SOAP都是比较复杂的技术,XML-PRC是SOAP的前身. 一,REST Web Service. REST被翻译为“表征状态转移”,听起来很抽象,“表征”是客户端看到的页面,页面的跳转就是状态的转移,客户端通过请求URL获得要显示的页面.REST通常是基于HTTP,URI和X

[ASP.NET MVC4高级编程] 学习记录(一)

理论: 先有GUI在发展,当用户按下某个键,某个进程会监听到这个动作,这个进程就是控制器.这就是MVC模式. 后来有了事件驱动编程,响应动作的是按钮本身,而不是控制器. 再后来webForm中,事件驱动需要通过隐藏域保存页面的状态.看起来提交一次没有变化,实际上经历了保存状态.销毁页面.服务端处理.恢复页面几个过程,究其本质,是因为web是无状态的. 最后的MVC,由用户提交一个请求,控制器选择相应视图,操纵模型,然后反馈给用户 控制器把视图渲染成html或其他,再由浏览器解释html.浏览器无

读书笔记之深入分析Java Web技术内幕

章节: 1 B/SB/S的优点: 客户端使用统一的浏览器(Browser) ,浏览器的统一带来了操作的统一,无论使用什么服务,因为浏览器是相同的,所以操作类似.客户使用简单了.服务端开发简化; 使用统一的http协议,便于开发,可以直接使用现有的基于http协议的容器,只关注业务逻辑. 2. BS的结构    B/S架构前后端都基于http协议交互数据. http协议采用无状态的短连接的数据模式,既一次请求完成一次数据交互,也对应着一个业务逻辑.          DNS可以解析域名为IP地址

[读书笔记]ASP.NET的URL路由引擎

作用 一般的URL: 举例:http://www.myapp.com/app.aspx?id=2&sessionid=29320xafafa02fa0zga0g8a0z 缺点: 不美观,不清晰 搜索引擎不友好,爬虫无法知道文件名后的更多地产品分类 因此,需要把它映射成更简单易用.涵盖信息更广的URL. 路由映射基础 相关类:RouteCollection 命名空间:System.Web.Routing 方法:RouteCollection.MapPageRoute(),实例方法 基本思路:要使用