Web Rest和
2015-08-27 14:02
225 查看
Web的简单性使之能够得到广泛的普及,并且成为互联网的标准。它由URL/HTTP/HTML三个基本的标准构成。HTTP是Web的核心,它是一个简单的请求-——回复的传输协议,客户端请求什么,服务端就给什么,并且每次消息交换均是独立的。HTTP是一种文档化的协议(Documented Protocol),客户端将请求文档置于HTTP请求封套(Envelope)中发送给服务端,而服务端将响应文档置于HTTP响应封套中返回给客户端。
HTTP方法(HTTP Menthod或者HTTP Verb)对于REST来说是一个非常重要的概念哦。如果将请求的目标视为一种网络资源的话,HTTP方法反映了正对该资源的操作类型。我们常用的几种HTTP方法(比如GET/HEAD,PUT,POST和DELETE)分别体现了这对目标资源的获取、添加、修改和删除操作。
Rest与技术无关,代表的是一种软件架构风格。REST是Representational State Transfer的简称。中文翻译为"表征状态转移"。在此之前Web服务具有两种主流的架构风格,即SOAP和XML_RPC.
REST从资源的角度来审视整个网络,它将分布在网络中某个节点的资源通过URL进行标识,客户端应用通过URL来获取资源的额表征,获得这些表征致使这些引用程序转变了状态。随着不断获取资源的表征,客户端应用不断的在转变着状态。
所有的数据,不论是通过网络请求获取的还是操作(创建,修改和删除)的数据,都是资源。这部仅仅包括图片、MP3和视频这些通过具体文件承载的物理资源,还包括通过关系型数据库保存的数据,甚至包括一些经过实时计算得到的数据。将一切数据视为资源是REST区别于其它架构分割最为本质的属性。
ASP.NET Web API直接借鉴了 ASP.NET MVC的设计,所以两者有非常类似的编程模式。
实体可以处于以下状态之一:
在桌面应用程序中,通常自动设置状态更改。在桌面应用程序的类型中,您阅读实体,并对一些其属性值进行更改。这将导致其实体的状态自动更改为
Web 应用程序的已断开连接的性质不允许为此连续的序列。读取一个实体DbContext被处置后呈现的页面。当调用
如果您想要更新只有用户实际更改的字段的 SQL
HTTP方法(HTTP Menthod或者HTTP Verb)对于REST来说是一个非常重要的概念哦。如果将请求的目标视为一种网络资源的话,HTTP方法反映了正对该资源的操作类型。我们常用的几种HTTP方法(比如GET/HEAD,PUT,POST和DELETE)分别体现了这对目标资源的获取、添加、修改和删除操作。
Rest与技术无关,代表的是一种软件架构风格。REST是Representational State Transfer的简称。中文翻译为"表征状态转移"。在此之前Web服务具有两种主流的架构风格,即SOAP和XML_RPC.
REST从资源的角度来审视整个网络,它将分布在网络中某个节点的资源通过URL进行标识,客户端应用通过URL来获取资源的额表征,获得这些表征致使这些引用程序转变了状态。随着不断获取资源的表征,客户端应用不断的在转变着状态。
所有的数据,不论是通过网络请求获取的还是操作(创建,修改和删除)的数据,都是资源。这部仅仅包括图片、MP3和视频这些通过具体文件承载的物理资源,还包括通过关系型数据库保存的数据,甚至包括一些经过实时计算得到的数据。将一切数据视为资源是REST区别于其它架构分割最为本质的属性。
ASP.NET Web API直接借鉴了 ASP.NET MVC的设计,所以两者有非常类似的编程模式。
实体状态和附加和 SaveChanges 方法
跟踪的数据库上下文是否在内存中的实体与在数据库中,其相应的行同步以及此信息确定调用SaveChanges方法时,会发生什么。例如,当你传递给Add方法的一个新的实体,该实体的状态设置为
Added。然后当你调用SaveChanges方法,数据库上下文发出 SQL
INSERT命令。
实体可以处于以下状态之一:
Added。实体不存在尚未在数据库中。
SaveChanges方法必须发出一个
INSERT语句。
Unchanged。什么都不需要去做与此实体
SaveChanges法。当你从数据库中读取的实体时,该实体开始与这种地位。
Modified。某些或所有实体的属性值已被都修改。
SaveChanges方法必须发出一个
UPDATE语句。
Deleted。实体已标记为删除。
SaveChanges方法必须发出
DELETE语句。
Detached。该实体不是被跟踪的数据库上下文。
在桌面应用程序中,通常自动设置状态更改。在桌面应用程序的类型中,您阅读实体,并对一些其属性值进行更改。这将导致其实体的状态自动更改为
Modified。然后当你调用
SaveChanges,实体框架生成更新仅有实际的属性更改 SQL
UPDATE语句。
Web 应用程序的已断开连接的性质不允许为此连续的序列。读取一个实体DbContext被处置后呈现的页面。当调用
HttpPost
Edit操作方法,发送新的请求和你有DbContext的一个新实例时,所以您必须手动将实体状态设置为
Modified.然后当您调用
SaveChanges,实体框架更新的数据库行的所有列,因为该上下文有没有办法知道哪些属性更改。
如果您想要更新只有用户实际更改的字段的 SQL
Update语句,可以以某种方式 (如隐藏字段) 保存的原始值,以便他们可以
HttpPost
Edit方法被调用时。然后可以
Student使用创建实体的原始值,调用
Attach方法与实体的原始版本,更新到新的值,该实体的值,然后调用
SaveChanges.更多的信息,请参阅实体状态和 SaveChanges和 MSDN 数据开发人员中心中的本地数据。
相关文章推荐
- android 初级__进阶__总结_转载
- 我哥说的是对的
- c#中预处理指令来实现条件编译
- Fiddler 学习(二)
- struts2设置文件上传大小
- 深入理解JVM内存模型
- hdu 1013 Digital Roots
- doker常用命令
- vmware做Centos磁盘分区管理实验
- Mysql 修改数据库存放位置
- java实现区域内屏幕截图示例
- 设计模式: 自己手动写一个代理模式
- php正则表达式以及正则函数详解
- openwrt 目录说明
- js全部替换replaceAll
- Java XLSTransformer生成excel文件
- fastjson
- 总结一下得到内核模块地址的方法
- leetcode 171 Excel Sheet Column Number(难易度:Easy)
- JNA 调用windows平台截取屏幕