介紹
重新想象 Windows 8 Store Apps 之 通訊
HttpClient 概述
http get string
http get stream
http post string
http post stream
OAuth 2.0 驗證的用戶端
樣本
用於示範 http 通訊的服務端
WebServer/HttpDemo.aspx.cs
/* * 用於響應 http 請求 */ using System;using System.IO;using System.Threading; namespace WebServer{ public partial class HttpDemo : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { // 停 3 秒,以方便測試 http 請求的取消 Thread.Sleep(3000); var action = Request.QueryString["action"]; switch (action) { case "getString": // 響應 http get string Response.Write("hello webabcd"); break; case "getStream": // 響應 http get stream Response.Write("hello webabcd hello webabcd hello webabcd hello webabcd hello webabcd hello webabcd hello webabcd hello webabcd hello webabcd hello webabcd hello webabcd hello webabcd"); break; case "postString": // 響應 http post string Response.Write(string.Format("param1:{0}, param2:{1}, referrer:{2}", Request.Form["param1"], Request.Form["param2"], Request.UrlReferrer)); break; case "postStream": // 響應 http post stream using (StreamReader reader = new StreamReader(Request.InputStream)) { string body = reader.ReadToEnd(); Response.Write(Server.HtmlEncode(body)); } break; default: break; } Response.End(); } }}
1、通過 HttpClient, HttpRequestMessage, HttpResponseMessage 實現 HTTP 通訊
Communication/HTTP/Summary.xaml
<Page x:Class="XamlDemo.Communication.HTTP.Summary" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:XamlDemo.Communication.HTTP" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d"> <Grid Background="Transparent"> <StackPanel Margin="120 0 0 0"> <TextBlock Name="lblMsg" FontSize="14.667" /> <Button Name="btnPost" Content="http post" Click="btnPost_Click_1" Margin="0 10 0 0" /> <Button Name="btnCancel" Content="cancel" Click="btnCancel_Click_1" Margin="0 10 0 0" /> </StackPanel> </Grid></Page>