2012-03-13 51 views
0

由於缺乏關於如何將數據發佈到JSON形式的WCF REST方法的信息,我感到非常沮喪。我已經嘗試了幾乎所有的東西。 Google現在只是返回紫色鏈接...在WCF REST模板中使用post方法40 - JSON

我在尋找的是一種將JSON對象發送給我的方法的方法,因此它可以爲我擱置所有數據。什麼我目前想獲得工作如下:

方法頭:

[WebInvoke(Method = "POST", UriTemplate = "role/new", ResponseFormat = WebMessageFormat.Json)] 
void AddNewRole(Stream streamdata) 

從客戶端應用程序的邏輯:

string json = JsonConvert.SerializeObject(role); 
byte[] buffer = Encoding.UTF8.GetBytes(json); 
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("https://IP/InfoService/role/new"); 
request.Method = "POST"; 
request.Credentials = new NetworkCredential("", ""); 
request.ContentType = "application/x-www-form-urlencoded"; 
using (StreamWriter sw = new StreamWriter(request.GetRequestStream())) 
{ 
    sw.Write(json); 
} 
HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
using (StreamReader sr = new StreamReader(response.GetResponseStream())) 
{ 
    MessageBox.Show(sr.ReadToEnd()); 
} 

使用這種方法我從一個公認的響應服務,但這是一個空白的響應,沒有新的數據被添加到數據庫中。當然,我的數據庫更新方法可能存在問題。無論哪種方式,任何人都可以幫我弄清楚我要去哪裏錯了嗎?

編輯:我現在有提琴手能夠在測試客戶端上測試,並且如預期的那樣,我的數據庫查詢出現問題。我很快回來。

EDIT2:終於找出數據庫問題了,我現在已經成功通過fiddler調用了。

編輯3:現在工作,謝謝沒有人。

回答

0

上面的代碼已被編輯,它的工作原理。