1

我正在开发WP8应用程序,我是新来的..我想知道我的发布方法是否正确,因为我无法发布我的数据在它产生的url例外..发布Json数据到其余的API

我上课内容...

public class Register  
    { 

     public int id { get; set; } 
     public string password_reset_hash { get; set; } 
     public string temp_password { get; set; } 
     public bool remember_me { get; set; } 
     public string activation_hash { get; set; } 
     public string ip_address { get; set; } 
     public bool status { get; set; } 
     public bool activated { get; set; } 
     public string permissions { get; set; } 
     public DateTime last_login { get; set; } 
     public DateTime created_at { get; set; } 
     public DateTime updated_at { get; set; } 
     public string email { get; set; } 
     public string password { get; set; } 
     public string conformpassword { get; set; } 
     public string username { get; set; }  
    } 

这里是我的代码..

public void btn_register_click(object sender, RoutedEventArgs e) 
     { 
      string url="myurl"; 
      Register res=new Register();// my class 
      res.email = txt_email.Text; 
      res.password = txt_password.Text; 
      res.conformpassword = txt_conf_psswrd.Text; 
      res.username = txt_username.Text; 
      res.created_at = DateTime.Now; 
      res.last_login = DateTime.Now; 
      res.updated_at = DateTime.Now; 
      res.status = true; 

      json = JsonConvert.SerializeObject(res); 
      WebClient wc = new WebClient(); 
      var URI = new Uri(url); 
      wc.Headers["Content-Type"] = "application/json";     
      wc.Headers["ACCEPT"] = "application/json"; 
      wc.UploadStringCompleted += new UploadStringCompletedEventHandler(wc_UploadStringCompleted); 
      wc.UploadStringAsync(URI, "POST", json);    

     } 

     private void wc_UploadStringCompleted(object sender, UploadStringCompletedEventArgs e) 
     { 
      try 
      { 
       MessageBox.Show(e.Result); 
       //e.result fetches you the response against your POST request.   

      } 

      catch (Exception exc) 
      { 
       MessageBox.Show(exc.ToString()); //i'm getting error here.. 
      } 
     } 

我的屏幕设计..
enter image description here

错误是..
enter image description here

感谢

回答

0

它看起来对我来说,有一个与你正在使用的URI的一个问题。您发布的错误消息显示服务器返回“未找到”标题。也许它只是不完全正确?我没有在您发布的代码中看到确切的URI。 string url="myurl";看起来不像这是你想使用的网址。

这也是为什么您无法访问响应流而无此例外的情况:MessageBox.Show(e.Result);。没有有效的回应。这里记录在这里:http://msdn.microsoft.com/de-de/library/system.net.uploadstringcompletedeventargs.result%28v=vs.110%29.aspx

您可以通过检查UploadStringCompletedEventArgshttp://msdn.microsoft.com/de-de/library/system.net.uploadstringcompletedeventargs%28v=vs.110%29.aspx)的Error属性来确定是否发生此类错误。