国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

http調(diào)用webservice操作httprequest、httpresponse示例

2024-07-10 13:27:35
字體:
來源:轉載
供稿:網(wǎng)友

REST WCF 使得我們調(diào)用Web服務時,可以通過HttpRequest的交互簡單完成。那么老版的WebService能否做到呢?WebService中通過HttpContext.Current.Rquest/Response,我們一樣也可以改造WebMethod。

客戶端:

復制代碼 代碼如下:


// 創(chuàng)建一個DataTable  

DataTable data = new DataTable("Project"); 

data.Columns.Add("Name"); 

data.Columns.Add("Birthday"); 

data.Rows.Add(new object[] { "Wendy", "1978/03/11" }); 

data.Rows.Add(new object[] { "Philip", "2000/11/05" }); 

data.Rows.Add(new object[] { "Felix", "1999/08/04" }); 

using (var ms = new MemoryStream()) 

    // 將DataTable用Xml格式寫入流  

    data.WriteXml(ms, XmlWriteMode.WriteSchema); 

    var client = new WebClient(); 

    // 定義HttpRequest的Content-Type(xml,json等)  

    client.Headers.Add("Content-Type", "text/xml"); 

    var url = "http://localhost:2609/Service1.asmx/SendXml"; 

    // Send HttpRequest  

    var resp = client.UploadData(url, "POST", ms.ToArray()); 

    var strResp = System.Text.Encoding.UTF8.GetString(resp); 

    MessageBox.Show(strResp); 

}

服務端:

復制代碼 代碼如下:


[WebMethod] 

public void SendXml() 

    // 獲得客戶端RAW HttpRequest  

    var inputStream = HttpContext.Current.Request.InputStream; 

    // 定義Response返回的格式是:Json  

    var response = HttpContext.Current.Response; 

    response.ContentType = "text/json"; 

    //var strXml = "";  

    //using (var sr = new StreamReader(inputStream))  

    //    strXml = sr.ReadToEnd();  

    try 

    { 

        DataTable data = new DataTable(); 

        using (var xr = XmlReader.Create(inputStream)) 

            data.ReadXml(xr); 

        // 將讀入Xml的DataTable的行數(shù)返回客戶端  

        string count = "http://m.survivalescaperooms.com/"" + data.Rows.Count + "http://m.survivalescaperooms.com/""; 

        response.BinaryWrite(System.Text.Encoding.UTF8.GetBytes(count)); 

    } 

    catch (Exception ex) 

    { 

        response.BinaryWrite(System.Text.Encoding.UTF8.GetBytes(ex.Message)); 

    } 

}

客戶端輸出""3""

PS: 如果客戶端的HttpRequest滿足SOAP序列化格式,WebService會為WebMethod將消息反序列化成參數(shù)。相對應的客戶端代理類也是通過將消息反序列化成對象供客戶端使用。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 大英县| 西城区| 万山特区| 托里县| 黄大仙区| 贵德县| 平江县| 岗巴县| 枝江市| 隆尧县| 庄河市| 金门县| 静乐县| 达拉特旗| 出国| 彩票| 宜良县| 无锡市| 伽师县| 潜江市| 石楼县| 衡山县| 内丘县| 辽宁省| 长汀县| 伊金霍洛旗| 河北区| 宜兰县| 句容市| 黎平县| 潼南县| 金塔县| 乌鲁木齐县| 台前县| 安远县| 吉木萨尔县| 寿光市| 锦屏县| 和平区| 伊宁市| 台东县|