2012-11-02 87 views
0

我有一个REST服务,它在PUT请求的URL中接受一个id。到目前为止,PUT请求如下所示:通过HttpWebRequest发送对象(REST服务)

string url = "http://localhost:3596/WidgetManager.svc/Widgets/" + TextBox3.Text; 
WebRequest req = WebRequest.Create(url); 
req.Method = "PUT"; 

using (HttpWebResponse resp = req.GetResponse() as HttpWebResponse) 
{ 
    StreamReader reader = new StreamReader(resp.GetResponseStream()); 
    Label4.Text = reader.ReadToEnd(); 
} 

但是我也需要在我的请求中发送一个Widget对象。

Widget w = new Widget(); 
w.Name = "worked!!!"; 
w.CogCount = 1000; 
w.SprocketSize = 2000; 

我看到了很多关于如何发送字符串的例子。但是,这样的对象呢?

回答

0

您可以使用XML或JSON对其进行序列化。 如果是这样的小物件,你可以写你自己的小法像

.toJSON() { 
    return '{"Name":"' + this.name + '", "CogCount":' + this.CogCount + ', "SprocketSize":' + this.SprocketSize + '}'; 
} 
//Output: '{"Name":"worked!!!", "CogCount":1000, "SprocketSize":2000}' 

在另一方面:C#提供了强大的(XML)序列化的工具! 这里:http://www.codeproject.com/Articles/1789/Object-Serialization-using-C只是众多例子之一。

但是,如果您使用PHP或类似的,JSON可能会更有趣。

+0

非常感谢。我会试试看... – user1514671