首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Asp.net web api 知多少

REST风格架构包含客户端和服务端。 客户端初始化请求到服务,服务负责处理请求并返回响应。 这些请求和响应都是围绕这些资源表示形式进行传递。 Q2. 解释下REST原则? Ans....任何会话类型数据应该在客户端保存和处理,只有在每次请求中按需传递到服务。 Cacheable(可缓存) - 客户端应该能够缓存响应以供后续使用。 Q3. REST和 SOAP区别是什么?...比如:基于资源架构。 SOAP 提供了无状态和有状态两种实现方式。 REST 是无状态SOAP 使用xml作为消息格式 REST 支持xml,json SOAP 定义了标准规范。...如果我们需要web service但不需要 SOAP,那么ASP.NET WEB API将是最佳选择。 它在现有WCF消息管道之上,构建简单,基于非SOAPHTTP服务。...WCF 基于SOAP协议,返回xml数据格式 它是web service(ASMX)演化版。支持TCP, HTTP, HTTPS, Named Pipes, MSMQ。

4.8K50

WCF技术剖析之十七:消息(Message)详解(上篇)

所以,消息在整个WCF体系结构中处于一个核心地位,WCF可以看成是一个消息处理管道。 尽管消息在整个WCF体系中具有如此重要意义,可是一般WCF编程人员,却意识不到消息存在。...如同WCF插件一样,这些自定义WCF扩展以即插即用方式参与到WCF整个消息处理流程之中。了解WCF整个消息处理流程是灵活进行WCF扩展前提。...最终将会生成如后面XML片断所示SOAP消息。...在执行该方法时候,相应序列化会被调用,将对象序列化成XML并将其置于消息主体部分。默认序列化就是我们在前面介绍DataContractSerializer。...Fault消息例子,后面给出XML是最终生成SOAP消息

2.6K100
您找到你想要的搜索结果了吗?
是的
没有找到

C# WCF服务

WCF服务提供增强可靠性和安全性,WS-Security,WS-Trust和WS-SecureConversation均被添加到SOAP消息中,以用于用户认证,数据完整性验证,数据隐私等多种安全因素...上述多种WS-Policy在WCF中都给与了支持。对于Messaging而言,SOAP是Web Service基本协议,它包含了消息头(header)和消息体(body)。...序列化:WCF支持DataContract串行采用System.Runtime.Serialization,而Web服务通过使用System.Xml.Serialization支持XML序列化。...绑定:WCF支持多种类型,如 basicHttpBinding,WSDualHttpBinding,WSHttpBinding等绑定,而Web服务仅支持SOAPXML。...多线程:WCF支持多线程利用ServiceBehavIor类,而这Web服务不支持。 双工服务操作:WCF支持双工服务业务除了支持单向和请求 - 响应服务操作,而Web服务不支持双工服务操作。

89120

快速入门系列--WCF--02消息、会话与服务寄宿

接下来,将以这些问题为线索进行深入学习,包容包括XML序列化与SOAP消息、会话与实例、服务寄宿与客户端代理。 ?...可以这么说,整个WCF服务都是构建在SOAP消息基础上,而SOAP消息是建立在XML这种跨平台数据格式基础上,有人可能会说WCF也支持Restful风格服务并支持json格式数据,的确是这样...说了这么多,目的只有一个就是学习WCF一定要意识到学习SOAP相关知识重要性,因为整个WS-*网络服务标准协议簇都建立在其之上,而与SOAP基础XML相关知识也就同样凸显出来了,其中最重要就是XML...知识点 诠释 消息格式化MessageFormatter WCF消息序列化和反序列化操作依赖该组件,服务端(DispatchMessageFormatter)和客户端(ClientMessageFormatter...),此外还可以通过实现IDispatch/ClientMessageFormatter接口自定义消息格式化,例如压缩消息

1.3K50

WCF后续之旅(17):通过tcpTracer进行消息路由

我们将tcpTracer置于服务和服务代理之间,tcpTracer会帮助我们接获、显示和转发流经他消息。 从本质上讲,tcpTracer是一个路由。...现在我们需要将tcpTracer作为一个路由引入到服务(CalculateService)和服务调用者(Client)之间,那么我们需要解决是:服务调用者发送消息不能直接发送到服务端,而应该先发送给...注:对于消息发送方来说,SOAP消息To报头对应地址由发送端终结点地址(逻辑地址)决定。...其中显示在上面文本框中请求消息内容如下,可以看出是一个HttpRequest消息SOAP消息作为HttpRequest消息主体(body)。...:创建一个简单SOAP Message拦截、转发工具[下篇] WCF后续之旅(14):TCP端口共享 WCF后续之旅(15): 逻辑地址和物理地址 WCF后续之旅(16): 消息是如何分发到Endpoint

67290

WCF 4.0路由服务Routing Service

而"fwd"和"rev"元素包含其他元素则被用于定义消息标识、相关性和目的。 尽管这种消息内路由功能非常强大,,但它也存在一些安全问题。路由必须修改标头。...{ get; } } 这个就是我们看到WCF内部对于SOAP消息寻址规范支持类型,WCF框架会使用这个类型来控制消息使用SOAP消息以及WS-Addressing 版本。...这其实在背后,WCF框架为我们生成了一个SOAP消息。而这个SOAP消息包含我们要调用服务必要信息。...MessageFilter实例负责消息调度。前面的SOAPAction值,是一个消息调度方式。 当传入消息时,WCF使用消息过滤器确定匹配端点。我们也可以自己定义消息过滤器类型。...WCF对于自定义消息过滤器支持,带来了很大灵活性。我们可以摆脱传统调度模型,实现SOAP 以外调度方式 :实现 REST/POX 样式服务。

1.2K80

不同.Net版本客户端软件调用Java Web Service区别

主要用于调用WCF创建各种Binding类型服务,当然也包括BasicHttpBinding也就是Soap 1.1。 接下来使用此代理类调用web服务。...又发现一个坑,本来应该从.Net Client 传送到Web Service上参数,服务接收不到。 使用Soap工具跟踪,发现soap消息里根本就没有。...可发现一个奇怪问题,有个别的Web Service API行为很奇怪。这个API是返回一组数据列表,客户端调用正常,soap消息监控正常,服务端执行正常, 可是返回到.net客户端对象一直是空。...而使用Java客户端调用和返回都是正常。 经过监视soap消息,发现消息中其实已经返回了对象数据。怀疑是在soap消息反序列化成.net对象时候出了问题。可这个问题一直没找到原因。...建议大家使用Restful /Json方式进行服务和客户端数据交互,尤其是在跨语言情况行下,更方便,更简单,也不需要关心soap版本之类东东。 请关注公众号:程序你好

1.4K30

WCF技术剖析之二十二: 深入剖析WCF底层异常处理框架实现原理

WCF客户端框架介绍到该Fault消息之后,会做一项相反操作:对Fault消息中进行解析和反序列化,重新生成并抛出FaultException异常。...所以,WCF异常处理框架核心功能就是实现FaultException异常和Fault消息之间转换,接下来我们着重来讨论这个话题。...一、FaultException异常和Fault消息之间纽带:MessageFault 对于WCF异常处理框架,其本身并不直接进行FaultException异常和Fault消息之间转换,而是通过另外一个作为中介对象来完成...如果指定了错误明细对象,需要指定与之匹配序列化以实现对其序列化和反序列化。...1.2 + WS-Addressing 1.0Fault消息(faultmessage.soap12.addressing10.xml): 1: <s:Envelope xmlns:a="http

1.4K110

WCF和ASP.NET Web API在应用上选择

ASP.NET Web API 与之前内建HTTP服务解决方案不同之处在于,它一开始就是围绕HTTP协议及其消息语义构建起来。...WCF最初为基于SOAP服务而设计,首先支持是WS-*功能,但后来添加了少量迎合REST功能。...因为WCF主要是为基于SOAPXML消息设计,为了让Web API成为WCF一部分,需要动手术实在有点大(至少Web API开发者们给了我这样印象),是基于RPC风格API。...另一方面,ASP.NET MVC基础设施既能优雅地处理HTTP请求和响应,又能轻松创建各种控制,好像是创建这种新类型服务合适途径。...支持URL路由,透过用户熟悉MVC风格路由语义,生成干净URL 根据Accept标头对请求和响应序列化形式进行内容协商(Content Negotiation) 支持大量输出格式,包括JSON、XML

1.4K80

WCF技术剖析之二十二: 深入剖析WCF底层异常处理框架实现原理

一、 从SOAP Fault说起(基于SOAP 1.2) 服务调用最终实现通过消息交换完成,WCF本质上可以看成是一个消息处理框架。...今年来,尽管随着REST迅速发展,基于POX(Plain of XML消息交换大行其道;AJAX持续升温,又是的基于非XML(JSON)消息开始火热,但是不可否认,在今后不短一段时间内SOAP...而最终服务调用体现在消息交换上,消息时基于XML(除了少部分非XML消息,比如JSON)。从数据转化角度上讲,WCF起到了一个将数据从这两种形态数据进行转化和适配作用。...在WCF异常处理体系中,对于异常或者错误,在XML世界里最终通过Fault消息体现;而在托管对象世界中,即使相应Exception对象。...当WCF服务端框架在进行错误提供过程中,将整个FaultException进行序列化并据此生成一个Fault消息,其Detail属性表示错误明细对象被序列化后XML作为SOAP

1.2K100

WCF技术剖析之十七:消息(Message)详解(下篇)

按照SOAP1.1或者SOAP1.2规范,一个SOAP消息由若干SOAP报头和一个SOAP主体构成,SOAP主体是SOAP消息有效负载,一个SOAP消息必须包含一个唯一消息主体。...SOAP报头是可选,一个SOAP消息可以包含一个或者多个SOAP报头,SOAP报头一般用于承载一些控制信息。消息一经创建,其主体内容不能改变,而SOAP报头则可以自由地添加、修改和删除。...按照SOAP 1.2规范,一个SOAP报头集合由一系列XML元素组成,每一个报头元素名称为Header,命名空间为http://www.w3.org/2003/05/soap-envelope。...这些CreateHeader方法接受一个可序列化对象,并以此作为消息报头内容,WCF内部会负责从对象到XML InfoSet序列化工作。...我们照例创建一个简单计算例子,同样按照我们经典4层结构,如图2所示。 ?

1.2K60

WCF技术剖析之十九:深度剖析消息编码(Encoding)实现(下篇)

[爱心链接:拯救一个25岁身患急性白血病女孩[内有苏州电视台经济频道《天天山海经》为此录制节目视频(苏州话)]]通过上篇介绍,我们知道了WCF所有与编码与解码相关功能都实现在相应System.Xml.XmlDictionaryWriter...但是在真正WCF处理框架中,却并不直接使用XmlDictioanryWriter和XmlDictionaryReader对象,而通过相应消息编码(System.ServiceModel.Channels.MessageEncoder...一、消息编码(MessageEncoder) 消息编码通过类型MessageEncoder表示,MessageEncoder是定义在System.ServiceModel.Channels命名空间下一个抽象类...] --06a0ac15-70c6-47e9-8837-ebc04a9ac1c2+id=1-- 三、WCF体系下编码机制实现 最后我们来介绍WCF体系下是如何对消息进行编码。...图1揭示了WCF进行消息编码本质。 ?

1.1K100

WCF,Net remoting,Web service

上述多种WS-Policy在WCF中都给与了支持。对于Messaging而言,SOAP是Web Service基本协议,它包含了消息头(header)和消息体(body)。...即使对于WCF和ASMX而言,虽然两者都使用了SOAP,但基于WCF开发应用程序,仍然可以直接与ASMX进行交互。...和Response, 当一个数据(XML格式)被封装成SOAP格式数据流发送到服务时候,就会生成一个进程对象并且把接收到这个RequestSOAP包进行解析,然后对事物进行处理,处理结束以后再对这个计算结果进行...信道,而且它不仅能传输XML格式SOAP包,也可以传输传统意义上二进制流,这使得它变得效率更高也更加灵活。...这些规范之一是 XML Web 服务安全性语言(WS-Security),它为消息级别的凭据传输、消息完整性和消息保密定义了框架。

1.4K50

WCF服务端运行时架构体系详解

而该架构体系在ServiceHost开启过程中被构建出来,这也是为什么在ServiceHost开启之后对服务描述所作任何该表都是无效根本原因。...如果读者对于信道层相关内容不是特别了解,请参考《WCF技术剖析(卷1)》第3章《绑定与信道栈》)。这两个信道监听分别绑定到上述两个监听地址进行请求消息监听。...它们都是属于一个叫做消息筛选(MessageFilter)对象。信道分发就是通过这两个消息筛选最终决定所在终结点分发是否适合处理当前请求消息。...,WCF为我们定义了如下六种典型消息消息筛选。...:终结点地址URI需要与SOAPTo报头值一致;SOAP消息具一致报头信息 XPathMessageFilter:SOAP消息也是一个XML,所以可以根据一个具体XPath表达式和SOAP内容进行匹配

660100

WCF技术剖析之十八:消息契约(Message Contract)和基于消息契约序列化

在本篇文章中,我们将讨论WCF四大契约(服务契约、数据契约、消息契约和错误契约)之一消息契约(Message Contract)。...后面的XML体现是Customer对象在SOAP消息表现形式。...消息契约,现在我们相应地修改了ID属性上MessageHeaderAtribute设置:MustUnderstand = true, Relay=true, Actor=http://www.w3.org...和DispatchMessageFormatter分别在客户端和服务端,根据操作描述(Operation Description),借助于相应序列化(Serializer)实现了方法调用与消息之间转换...根据使用序列化不同,WCF中定义了两种典型MessageFormatter:一种是基于DataContractSerializerDataContractSerializerOperationFormatter

1.6K60

菜菜从零学习WCF一(WCF概述)

那么如果使用WCFWCF可使用Web服务进行通信,因此与同样支持SOAP其他平台(例如基于J2EE主流应用程序服务)建胡曹祖行就变得简单明了。   ...还可以对WCF进行配置和扩展,以便与使用并非基于SOAP消息(例如RSS这种简单XML格式)Web服务进行通信。   ...当通信双方都简历在WCF上时,为获得最理想性能,可使用线上编码这是XML信息集一个优化二进制版本。...消息仍遵循SOAP消息数据结构,但其编码使用该数据结构二进制表示形式,而不是XML1.0文本编码标准尖括号加文本格式。   ...建立在消息队列上WCF排队消息选项使应用程序能够使用持久排队,而无需使用另外一组应用程序编程接口。 综上所述WCF就是:   提供统一,可用于建立安全、可靠面向服务应用高效开发平台。

1.3K20

WCF后续之旅(16): 消息是如何分发到Endpoint--消息筛选(Message Filter)

这两个对象在整个WCF消息分发系统中具有重要地位,在这节里,我们对WCF整个消息分发过程作一个简单介绍。...一、连接请求监听 当我们通过ServiceHost对某个服务进行寄宿时候,实际上WCF是在为我们创建一个监听,并监听来自外界服务访问请求。...在进行筛选时候,如果SOAP消息Action报头值存在于终结点Action列表中,则匹配成功 EndpointAddressMessageFilter:如果SOAP消息To报头和终结点地址完全一样...,则匹配成功 XPathMessageFilter:SOAP消息也是一个XML,所以可以根据一个具体XPath表达式和SOAP内容进行匹配 PrefixEndpointAddressMessageFilter...:创建一个简单SOAP Message拦截、转发工具[下篇] WCF后续之旅(14):TCP端口共享 WCF后续之旅(15): 逻辑地址和物理地址 WCF后续之旅(16): 消息是如何分发到Endpoint

78980

ASP.NET中使用HttpWebRequest调用WCF

Web Service技术介绍 Web Service是一个平台独立,松耦合,自包含、基于可编程Web应用程序,可使用开发XML数据标准来描述、发布、发现、协调和配置这些应用程序,同时用于开发分布式互操作应用程序...WCF技术介绍 WCF是Web Service升级版本。WCF是Windows Communication Foundation缩写。...是一个运行库和一组 API,用于创建在服务与客户端之间发送消息系统。...第2步:对于WcfService_Server项目,我们不需要修改任何代码,因为创建时候自动创建了2个web method。...如果对方也是WCF服务端的话,可以进入如下图所示界面,然后点击以”?wsdl”结尾链接。 ? 可以看到是一个xml文件,里面有一个 ?

2.3K90

菜菜从零学习WCF八(Message类)

前言 本次记录主要记录三个重要内容: Message类概述 使用Message类创建消息 读取Message类消息 第一部分--Message类概述 Message类是WCF基本类。...相反,您需要使用WCF服务 模型构造(如数据协定、消息协定和操作协定)来描述传入消息和传出协定。...版本参数,该参数指示要用于消息SOAP和WS-Addressing版本。...他们可以分为以下几类: 将整个消息正文一次性写出到XML编写。这称为“写入消息”。 将XML读取放在消息正文上。这使您可以在以后根根据需要逐段访问消息正文。这称为“读取消息”。...1.写入消息 WriteBodyContents 方法将给定Message实例正文内容写出到给定XML编写

81030
领券