WCF中REST使用POST方式
- [OperationContract]
- [WebInvoke(Method = "POST",ResponseFormat = WebMessageFormat.Json,RequestFormat = WebMessageFormat.Json,UriTemplate = "data")]
- string PostData(User u);
- public string PostData(User u)
- {
- return "Received: " + u.name+" " +u.title;
- }
客户端:
- private void button3_Click(object sender, EventArgs e)
- {
- string json = null;
- WebClient client = new WebClient();
- client.Headers["Content-Type"] = "application/json";
- DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(User));
- using (MemoryStream stream = new MemoryStream())
- {
- serializer.WriteObject(stream, new User { name="suzhi",age=12,title="uu"});
- stream.Flush();
- json = Encoding.UTF8.GetString(stream.ToArray(), 0, (int)stream.Length);
- }
- client.UploadStringCompleted += new UploadStringCompletedEventHandler(client_UploadStringCompleted);
- client.UploadStringAsync(new Uri("http://192.168.15.236:7117/data"), "POST", json);
- }
- void client_UploadStringCompleted(object sender, UploadStringCompletedEventArgs e)
- {
- if (e.Error == null)
- {
- MessageBox.Show("OK");
- }
- else
- {
- MessageBox.Show(e.Error.Message);
- }
- }
- 转自:http://blog.csdn.net/suzhi921/article/details/7104376

浙公网安备 33010602011771号