基本技术点

 

  windows 8 中 使用 httpclient 代替 windows phone 中的 httpwebclient , 使用方法 也有些不同 。

  下面是windows 8种使用 httpclient的各种方式

  a 以get的方式 对服务器发起请求 获得string

  HttpResponseMessage response = await httpClient.GetAsync(resourceUri); // await关键字 异步加载 * resourceUri 是请求的Url

  string statues_string = ((int)response.StatusCode) + " " + response.ReasonPhrase + Environment.NewLine; // 服务器返回 请求的 状态

  responseBodyAsText = await response.Content.ReadAsStringAsync(); //将 请求返回的转化为 string

  

  b 以get的方式 对服务器发去请求 接受返回来的流

  string resourceAddress = http://www.baidu.com";

  HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, resourceAddress);

  HttpResponseMessage response = await httpClient.SendAsync(request, HttpCompletionOption.ResponseHeadersRead);

  OutputField.Text = response.StatusCode + " " + response.ReasonPhrase + Environment.NewLine;

  StringBuilder responseBody = new StringBuilder();

  using (Stream responseStream = await response.Content.ReadAsStreamAsync())

  {

  byte[] responseBytes = new byte[responseStream.Length];

read = await responseStream.ReadAsync(responseBytes, 0, responseBytes.Length);

  }

  c 以post的方式 上传 string

  HttpResponseMessage response = await httpClient.PostAsync(resourceAddress, new StringContent(RequestBodyField.Text));

  catch (HttpRequestException hre)

{

rootPage.NotifyUser("Error", NotifyType.ErrorMessage);

OutputField.Text = hre.ToString();

}

  catch (TaskCanceledException)

{

rootPage.NotifyUser("Request canceled.", NotifyType.ErrorMessage);

   }

  finally {

    Helpers.ScenarioCompleted(StartButton, CancelButton);    

     }             //各种异常处理

  

  d 以post的方式 上传流数据

  byte[] subData = new byte[size];

  for (int i = 0; i < subData.Length; i++)

  {

subData = 64;

}

  Stream stream=(Stream)new MemoryStream(subData);

  StreamContent streamContent = new StreamContent(stream);

  string resourceAddress =“http://www.baidu.com”;

HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, resourceAddress);

  request.Content = streamContent;

request.Headers.TransferEncodingChunked = true; // 假设我们不知道内容的长度

  HttpResponseMessage response = await httpClient.SendAsync(request); //发送数据

  若消息返回来后 数据都在response中

windows 8 中 使用 httpclient的更多相关文章

  1. 详解 UWP (通用 Windows 平台) 中的两种 HttpClient API

    UWP (通用 Windows 平台) 应用开发者在构建通过 HTTP 与 Web 服务或服务器断点交互的应用时,有多种 API 可以选择.要在一个托管 UWP 应用中实现 HTTP 客户端角色,最常 ...

  2. Windows Store App 网络通信 HttpClient

    HttpClient类包含在System.Net.Http命名空间中,是向以URI标识的网络资源发送HTTP请求和接收HTTP响应的基类.在HTTP请求中使用该类可以向Web服务发送GET.POST等 ...

  3. gvoory脚本中关于HttpClient使用详解实例

    一.gvoory脚本中关于HttpClient使用详解实例 HttpClient:是一个接口 首先需要先创建一个DefaultHttpClient的实例 HttpClient httpClient=n ...

  4. 在 Windows Phone 中,为 Grid 添加 Tilt 效果

    在 Windows Phone 中,Tilt 效果是比较经典的效果,我们可以很简单的为按钮等控件添加这样的效果(使用 Windows Phone Toolkit 的Tilt 效果),但是,如果我们想要 ...

  5. 如何托管ASP.NET Core应用到Windows Service中

    (此文章同时发表在本人微信公众号"dotNET开发经验谈",欢迎右边二维码来关注.) 题记:正在构思一个中间件的设计,考虑是否既可以使用最新的技术,也可以兼顾传统的部署模式.所以有 ...

  6. UEFI+GPT模式下的Windows系统中分区结构和默认分区大小及硬盘整数分区研究

    内容摘要:本文主要讨论和分析在UEFI+GPT模式下的Windows系统(主要是最新的Win10X64)中默认的分区结构和默认的分区大小,硬盘整数分区.4K对齐.起始扇区.恢复分区.ESP分区.MSR ...

  7. 虚拟机和windows主机中的文件共享

    22:54 2015/12/22 虚拟机和windows主机中的文件共享:特别推荐:我的一个老师特别推荐的方法:在windows安装SSH Secure File Transfer Client,直接 ...

  8. Windows编程中UNICODE和_UNICODE定义问题

    Windows编程中UNICODE和_UNICODE定义问题 先转一篇文章: 初学Windows SDK编程时碰到过这个问题,相信很多初学Windows编程的人也都碰到过,后来慢慢搞明白些了,但有时别 ...

  9. 如何在windows计划中调用备份sharepoint2010网站集的powershell脚本

    最近有个项目需要在在windows计划中使用powershell脚本备份sharepoint2010网站集,打开sharepoint的powershell执行命令管理界面的属性 查看: C:\Wind ...

随机推荐

  1. Oracle EBS 加锁解锁程序

    FUNCTION request_lock(p_lock_name IN VARCHAR2) RETURN BOOLEAN IS l_lock_name ); l_lock_ret INTEGER; ...

  2. Vue2学习笔记:过渡效果css

    过渡效果 Vue 提供了 transition 的封装组件,在下列情形中,可以给任何元素和组件添加 entering/leaving 过渡 <!DOCTYPE html> <html ...

  3. JavaScript大位数相加减

    function arrayAdd(number, addNumber) { var numberArr = number.toString().split(''); var addNumberArr ...

  4. Azure Cosmos DB 使用费用参考

    之前在学习Cosmos DB 中SQL API(DocumentDB) 的时候,也就是之前做的一些笔记,看到有使用费用的一些介绍,就有兴趣的去了解了下,做了一下简单的总结. 想了解更多或是购买使用的还 ...

  5. [翻译] ZLHistogramAudioPlot

    ZLHistogramAudioPlot A hardware-accelerated audio visualization view using EZAudio, inspired by Audi ...

  6. 清除右键菜单CMD入口

    批处理代码 reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\cmd" /v Extended /t REG_SZ

  7. (转)ParallaxOcclusionMapping( POM ) DX9(转)

    http://blog.csdn.net/xujiezhige/article/details/7326606

  8. svn检出项目,Project *** is already imported into workspace

    1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.如果从svn检出的项目   Import  ----  Existing Maven Pro ...

  9. Memcahce和Redis比较

    一.Memcache 1.     memecache 把数据全部存在内存之中,断电后会挂掉,数据不能超过内存大小redis有部份存在硬盘上,这样能保证数据的持久性. 2.      Memcache ...

  10. Ubuntu 12.04常用快捷键

    ===== 桌面 ===== ALT + F1: 聚焦到桌面左侧任务导航栏,可按上下键导航. ALT + F2: 运行命令 ALT + F4: 关闭窗口 ALT + TAB: 切换程序窗口 ALT + ...