1 2 3 4 下一页 WCF为传输层实现数据流在客户和服务之间进行传输提供了很好的支持,不过在使用这种方式时,我们必须遵循相应的约定。WCF服务在启动时会首先检查操作契约是否符合这种规范。因为通常模式下我们不能简单地在客户中使用特定的流,如我们在传输文件时,我们目的是要得到文件对象,而不是流对象。因为我们使用了不同类型的文件(如:*.doc,*.exe等),那么在另一端我们应该能够重现这种类型,不过由于使用流传输带来很好的性能,于是我们想在文件传输中使用这种流模式。那么就得附加相应的文件信息给异端,以便重现文件。这时我们就可以使用SOAP消息头来附加这些信息了。 1流模式的操作契约约定: 首先我们先来了解一下使用流模式的基本的操作契约要求。要使用流模式,我们在操作契约中只能是以单个的输入输出流作为参数,也就是说方法的参数和返回参数,要么是Stream对象或派生类对象,要么void,形如以下的方法签名可认可:
从上面的签名我们可以看出如果我们要在服务和客户之间传递一个文件流,在方法中是无法传递一个参数来达到的,所以这儿为了传递文件名和路径,我们选择使用消息头附加这些信息的方式来实现,这儿定义操作契约为:
(责任编辑:admin) |