Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用WCF RESTful传递对象_Wcf_Rest - Fatal编程技术网

使用WCF RESTful传递对象

使用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

我有一个更新用户方法,如上所示。然后我使用一个HttpWebRequest来测试这个方法,但是如何通过这个HttpWebResquest传递用户对象呢? 以下代码是我到目前为止得到的

  [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字符串,然后将其写入流