使用WCF RESTful传递对象
我有一个更新用户方法,如上所示。然后我使用一个HttpWebRequest来测试这个方法,但是如何通过这个HttpWebResquest传递用户对象呢? 以下代码是我到目前为止得到的使用WCF RESTful传递对象,wcf,rest,Wcf,Rest,我有一个更新用户方法,如上所示。然后我使用一个HttpWebRequest来测试这个方法,但是如何通过这个HttpWebResquest传递用户对象呢? 以下代码是我到目前为止得到的 [WebInvoke(Method = "PUT", UriTemplate = "users/{username}")] [OperationContract] void PutUser(string username, User newValue);//update a user 在WCF/RES
[WebInvoke(Method = "PUT", UriTemplate = "users/{username}")]
[OperationContract]
void PutUser(string username, User newValue);//update a user
在WCF/REST中,您不传递对象,而是传递消息
如果我这样做,作为第一步,我将创建一个与服务交互的WCF客户端。我将检查WCF客户机在线路上传递的消息,然后用HttpWebRequest复制该消息 在WCF/REST中,您不传递对象,而是传递消息
string uri = "http://localhost:8080/userservice/users/userA";
HttpWebRequest req = WebRequest.Create(uri) as HttpWebRequest;
req.Method = "PUT";
req.ContentType = " application/xml";
req.Proxy = null;
如果我这样做,作为第一步,我将创建一个与服务交互的WCF客户端。我将检查WCF客户机在线路上传递的消息,然后用HttpWebRequest复制该消息 stringuri=”http://localhost:8080/userservice/users/userA";
string uri = "http://localhost:8080/userservice/users/userA";
HttpWebRequest req = WebRequest.Create(uri) as HttpWebRequest;
req.Method = "PUT";
req.ContentType = " application/xml";
req.Proxy = null;
string user=“2009-01-18T00:00:00userA@example.com1Sample用户A”;
byte[]reqData=Encoding.UTF8.GetBytes(用户);
HttpWebRequest req=WebRequest.Create(uri)为HttpWebRequest;
请求方法=“POST”;
req.ContentType=“应用程序/xml”;
req.ContentLength=用户长度;
req.Proxy=null;
Stream reqStream=req.GetRequestStream();
reqStream.Write(reqData,0,reqData.Length);
HttpWebResponse resp=req.GetResponse()作为HttpWebResponse;
字符串代码=resp.StatusCode.ToString();
//StreamReader sr=新的StreamReader(resp.GetResponseStream());
//字符串respStr=sr.ReadToEnd();
控制台写入线(代码);
Console.Read();
我找到了解决方案,我需要构造要传递的xml字符串,然后将其写入流中http://localhost:8080/userservice/users/userA";
string user=“2009-01-18T00:00:00userA@example.com1Sample用户A”;
byte[]reqData=Encoding.UTF8.GetBytes(用户);
HttpWebRequest req=WebRequest.Create(uri)为HttpWebRequest;
请求方法=“POST”;
req.ContentType=“应用程序/xml”;
req.ContentLength=用户长度;
req.Proxy=null;
Stream reqStream=req.GetRequestStream();
reqStream.Write(reqData,0,reqData.Length);
HttpWebResponse resp=req.GetResponse()作为HttpWebResponse;
字符串代码=resp.StatusCode.ToString();
//StreamReader sr=新的StreamReader(resp.GetResponseStream());
//字符串respStr=sr.ReadToEnd();
控制台写入线(代码);
Console.Read();
我找到了解决方案,我需要构造要传递的xml字符串,然后将其写入流