zoukankan      html  css  js  c++  java
  • WebClient DownloadStringAsync/UploadStringAsync和OpenWriteAsync/OpenReadAsync的区别

    WebClient使用WebRequest类别提供对资源的存取。WebClient类别相较于HttpWebRequest类别,它比较像是个被封装完成专门处理网路资源存取的类别,例如:依照预设值,当使用WebClient时,该执行个体是不会传送选择性的Http标头,也就是它会依旧你使用的URI产生相对应的Http Header内容,让接收端可以有效撷取需要的内容。这样的好处可以让开发人员依基本的Header来完成任务。但其实对于Header的使用,还是有其限制在的,可以参考

    < WebHeaderCollection类别 >这篇文章的介绍,里面提供了那些Header可以操作来向接收端进行沟通。

    Method

    Description

    OpenWriteAysnc

    以非同步方式撷取用于将资料传送至资源的Stream,而不封锁呼叫的执行绪。使用POST命令上载HTTP资源。该方法将资料转入资料流中进行传送。

    UploadStringAsync

    String传送至资源,而不封锁呼叫的执行绪。指定上传的URI必须识别出可以接受使用POST方法传送之要求的资源。

    DownloadStringAsync

    从资源下载String,而不封锁呼叫的执行绪。采用GET方法向URI下载指定资源。

    OpenReadAsync

    以非同步方式从资源传回资料,而不封锁呼叫的执行绪。采用下载封装的方式,让资源回传时是属于一个独立的档案集合。采用GET方法向URI下载指定资源。

    上方四种是常用于非同步作业使用的方法。然而在使用WebClient类别需要注意Silverlight针对网路存取的限制,可以参考:< Silverlight中的网路安全性存取限制 >与< Silverlight中的URL存取限制 >。另外,也许你会像我一样不太了解为何有一个DownloadStringAsync或UploadStringAsync的方法出现,因为在网路上搜寻看到WebClient类别的范例都是使用另外二种:OpenWriteAsync与OpenReadAsync来储存网路资源。也许你可以依照下方的分类来按需求使用:

    〉DownloadStringAsync/UploadStringAsync:适用于当接收端接受传送资料的类型,例如:XML、JSON等其他相关文字类型。

    〉OpenWriteAsync/OpenReadAsync:适用接收端使用POST方式接收/取得资料流的类型,例如:可转成Stream的资料料型。

     

  • 相关阅读:
    忘了SA密码的SQL SERVER
    关于VC中的错误处理
    编译filezilla
    001.第一天|第二天
    JVM学习之类加载
    JAVA学习之HashCode
    JAVA学习之泛型
    JAVA学习之动态代理
    solr学习之域的管理与中文分析器配置
    solr 学习之简介及安装
  • 原文地址:https://www.cnblogs.com/wuzhsh/p/2664977.html
Copyright © 2011-2022 走看看