文章分类 - WCF
摘要:既然可以通过xmlhttprequest来请求web service,那wcf应该也可以吧?抱着这样的想法 没有参考任何资料直接敲上代码 结果却没有用后来看了一下相关资料,原来要在实现服务的类上添加[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] 如:using System;using System.Collections.Generic;using System.Linq;using System.Runtime.Serialization;us
阅读全文
摘要:安全性概述常见的安全威胁1.观测网络流量以获取敏感信息。以在线银行为例,某个客户端请求将资金从一个账户转到另一个账户,一个恶意用户截取了此消息(具有账户和密码),随后盗取资金2.欺诈性实体在客户端未发觉的情况下起服务作用。在此情况下,恶意用户(欺诈方)充当在线服务(做一个假的服务Host住客户的请求),从客户端截取消息以获取敏感信息,然后欺诈方使用窃取的的数据盗取资金。此类攻击也称为“钓鱼攻击”3.更改消息以获取与调用方所需的结果不同的结果(改掉消息继续传送到服务器)。例如,更改目标存款帐号以便将资金转入恶意账户中4.黑客重放,恶意黑客重放同一订单。例如,一家网上书店收到数百张订单并将书籍发送
阅读全文
摘要:WCF是基于XML的通信基础结构编码数据:文本和2进制~最常有的顾虑包括:认为与二进制格式相比XML的开销非常可观(因为其开始标记和结束标记的重复性),数值的编码可能要大的多(因为他们是以文本值来表示的)并且没有办法有效的表示2进制数据(因为他们必须进行特殊的编码才能嵌入到文本格式中)~尽管上面的问题是存在的,但是在XML Web Service环境中的XML文本编码消息与旧式的远程过程调用(RPC)环境的2进制编码消息之间的实际差异,通常远远小于最初考虑中所预想的程度。(也就是说,XML的文本编码,并没有比我们以往的RPC环境里的2进制编码要大很多)~虽然XML是透明可读的,但其实也没那么好
阅读全文
摘要:会话“会话”是在两个终结点(endpoint)之间发送的所有消息的一种相互关系,它和ASP.NET的会话还是很不一样的如何在服务协定上设置会话呢? 设置ServiceContract的SessionModeAllowed(默认):客户端可以进行连接,并选择建立会话或不建立会话Required:所有调用都必须是同一个对话的一部分(客户端必须在一个会话里面调用所有的操作)NotAllowed :禁止会话ASP.NET会话和WCF会话的区别ASP.NET会话总是由服务器端启动ASP.NET会话原本是无序的ASP.NET会话提供了种跨请求的常规数据存储机制(比如一个Session就存储了一个会话的所有
阅读全文
摘要:Message类是WCF的基本类客户端与服务端之间的所有通信最终都会产生Message类的实例无论是用数据协定还是消息协定来包装的一个传递的消息,最终WCF架构都会将它们转换为Message这样的一个类型通常不会直接用到Message类,一般都是使用数据协定或消息协定那什么情况下会用到Message这个类呢主要的应用场景是要对传出或传入的消息进行完全的控制才会用到Message类,比如说从磁盘上的文件直接创建消息,而不是序列化.Net Framework对象所以用Message类就可以实现,可以完全的控制我们的消息,无论是标头还是正文还是什么其他的怎么使用呢直接将Message作为返回值或者参
阅读全文
摘要:今天看到一句很有感觉的话:你能作茧自缚,就能破茧成蝶消息样式的操作最多具有一个参数和一个返回值,其中参数和返回值的类型都是消息类型也就是说,这两种类型可直接序列化为指定的soap消息结构可以用MessageContractAttribute标记的任何类型或Message类型(Message类型下次说) [OperationContract] bool Validate(BankingTransaction bt); //错误 返回值是bool类型 他不是消息类型 所以他是无效的消息协定 [OperationContract] void R...
阅读全文
摘要:在复习WCF(2)那篇的最后面稍微讲了一下数据协定 这里在稍微说一下实际上就是一个普通的类而已,一个基本的Class。完全可以看成多层架构中的实体层,就只是数据载体而已区别在于使用DataContractAttribute属性和DataMemberAttribute属性修饰note:如果某个属性没有用DataMemberAttribute修饰 那客户端的代理类就不会生成此属,DataMemberAttribute对静态成员无效 [DataContract] public class CompositeType { bool boolValue = true; ...
阅读全文
摘要:承载服务:可以在IIS中承载,也可以在托管的应用程序中(自承载,自己承载自己),也可以在windows进程激活服务(WAS)中承载。(话说我现在也不知道WAS是啥,有空去了解下,但是可以知道它比IIS多支持一些协议)一.IIS中承载note:IIS5.1和IIS6.0仅限于HTTP通信,IIS7.0...
阅读全文
摘要:概述:首先明确一点,编写配置是WCF应用程序的主要组成部分。在设计和实现服务协定后,即可配置服务。在其中可以定义和自定义如何向客户端公开服务,包括指定可以找到服务的地址、服务用于发送和接收消息的传输和消息编码,以及服务需要的安全类型。地址:让客户端能够发现并使用此服务传输:消息的传输是用http协议...
阅读全文
摘要:服务协定:使用ServiceContractAttribute属性修饰服务方法:使用OperationContractAttribute属性修饰服务协定可以用接口实现 也可以用普通的类来实现 推荐使用接口至于接口的好处或者接口是什么 连接:http://www.cnblogs.com/Scissors/articles/2922885.html如果是使用接口实现 那实现此服务协定(接口)的类就不用添加ServiceContract和OperationContract属性来修饰。具体代码如下所示: [ServiceContract] public interface IService...
阅读全文
摘要:前言:关于WCF的那些种种介绍就不说了在我看来之所以WCF能够替代web services 可以从以下看出1.web services在.net上是很简单的 完全明文的 不安全的 无事务性的 等等2.所以在后期微软对web services做出了扩展。WSE(1.0 2.0 3.0)安全 ,企业服务...
阅读全文

浙公网安备 33010602011771号