2012-12-21 89 views
0

我想從窗體中使用WCF服務。我試圖調用的方法接受兩個參數:WCF服務中的多個參數json

public String Redirect(String code, String[] data) 
{ 
    //Some code here. 
} 

現在,當我嘗試連接到函數時,不發送數據,Web服務停止。我需要知道如何使用正確的格式發送數據,以便函數接受de連接。

PT:該功能只接受json數據。

我使用的瞬移到Web服務的代碼:

  String url = GetUrl(); 
      WebRequest request = WebRequest.Create(url); 
      request.ContentType = "application/json"; 
      request.Method = "POST"; 
      System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding(); 
      request.GetResponse(); 

感謝

+0

你是如何使這個電話?將執行呼叫的代碼添加到Web服務 –

+0

Xtudio感謝您的答覆。我添加了代碼 – Flezcano

回答

0

我假設你使用WebInvokePOST方法。該解決方案很簡單:你忘了這個消息添加到身體:

String url = GetUrl(); 
WebRequest request = WebRequest.Create(url); 
request.ContentType = "application/json"; 
request.Method = "POST"; 

byte[] bytes = System.Text.Encoding.UTF8.GetBytes("Your JSON data"); 
request.ContentLength = bytes.Length; 
var requestStream = request.GetRequestStream(); 
requestStream.Write(bytes, 0, bytes.Length); 

You JSON data會是這樣的:

{ 
    "code": "10", 
    "data": [ 
     "hello", 
     "data" 
    ] 
} 
+0

再次感謝您的回覆。在「您的JSON數據」中,如何添加這兩個參數? 。搜索一下,我發現有些人使用: 使用(var StreamWriter = new StreamWriter(request.GetRequestStream())) { StreamWriter.Write(data); } – Flezcano

+0

看到我的答案。只需將「You JSON數據」的值更改爲「{\」code \「:\」10 \「,\」data \「:[\」hello \「,\」data \「]}」 –

+0

但是, StreamWriter也將是一個解決方案 –