网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > ASP.net > 正文

在流模式下利用消息头传输带外信息

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/12/13

1 2 3 4 下一页

  WCF为传输层实现数据流在客户和服务之间进行传输提供了很好的支持,不过在使用这种方式时,我们必须遵循相应的约定。WCF服务在启动时会首先检查操作契约是否符合这种规范。因为通常模式下我们不能简单地在客户中使用特定的流,如我们在传输文件时,我们目的是要得到文件对象,而不是流对象。因为我们使用了不同类型的文件(如:*.doc,*.exe等),那么在另一端我们应该能够重现这种类型,不过由于使用流传输带来很好的性能,于是我们想在文件传输中使用这种流模式。那么就得附加相应的文件信息给异端,以便重现文件。这时我们就可以使用SOAP消息头来附加这些信息了。

  1流模式的操作契约约定:

  首先我们先来了解一下使用流模式的基本的操作契约要求。要使用流模式,我们在操作契约中只能是以单个的输入输出流作为参数,也就是说方法的参数和返回参数,要么是Stream对象或派生类对象,要么void,形如以下的方法签名可认可:

void SendStream(Stream inStream);
Stream ReceiveStream();
Stream SendAndReceiveStream(Stream inStream);
void SendAndReceiveStream(Stream inStream,out Stream outStream);
void ReceiveStream(out Stream outStream)

  从上面的签名我们可以看出如果我们要在服务和客户之间传递一个文件流,在方法中是无法传递一个参数来达到的,所以这儿为了传递文件名和路径,我们选择使用消息头附加这些信息的方式来实现,这儿定义操作契约为:

  [ServiceContract ]
    public  interface ISendStreamService
    {
        //利用流的传输模式来实现,消息头附加信息
        [OperationContract]
        void SendStream(Stream stream);
    }

(责任编辑:admin)

网学推荐

免费论文

原创论文

设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号