2012-03-13 20 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

上面的代码已被编辑,它的工作原理。