c# - Http Post Internal Server Error 500 in Web Api & WCF -


i using wpf client , web api service. add new event click button , update button in wpf not returning http post action in api controller , returning error internal server error. http post method

[httppost] public httpresponsemessage postevent(eventformmodel event1) {     if (modelstate.isvalid)     {         var command = new createorupdateeventcommand(event1.eventid, event1.eventagenda, event1.description, event1.eventdate, event1.location, event1.userid);         var result = commandbus.submit(command);         if (result.success)         {             var response = request.createresponse(httpstatuscode.created, event1);             string uri = url.link("defaultapi", new { id = event1.eventid });             response.headers.location = new uri(uri);             return response;         }     }     else     {         return request.createerrorresponse(httpstatuscode.badrequest, modelstate);     }     throw new httpresponseexception(httpstatuscode.badrequest); } 

wpf click event:

private async void btnnewevent_click(object sender, routedeventargs e)     {             var event1 = new event()             {                 eventagenda = txtagenda.text,                 description = txteventdescription.text,                 location=txtlocation.text,                 userid=convert.toint32(txtuserid.text),                 eventid=convert.toint32(txteventid.text),                 eventdate=convert.todatetime(dateeventdate.text),             };             client.baseaddress = new uri("http://localhost:40926/api/event");             // add accept header json format.             client.defaultrequestheaders.accept.add(                 new mediatypewithqualityheadervalue("application/json"));             var response = client.postasjsonasync("api/event", event1).result;             if (response.issuccessstatuscode)             {                 messagebox.show("added" + response);                 txtagenda.text = "";                 txteventdescription.text = "";                 txtlocation.text = "";                 txtuserid.text = "";                 txteventid.text = "";                 dateeventdate.text = "";             }             else             {                 messagebox.show("error code" + response.statuscode + " : message - " + response.reasonphrase);             } 

} event class in wpf application:

 public class event {     public int eventid { get; set; }     public int userid { get; set; }    // [required(errormessage = "agenda required")]     //[display(name = "movie name")]     public string eventagenda { get; set; }   //  [required(errormessage = "location required")]     public string location { get; set; }     // [required(errormessage = "date required")]     public datetime eventdate { get; set; }     public string description { get; set; }    // public string remindertype { get; set; } } 

i used breakpoints near post action , click event. in click event near var response = client.postasjsonasync("api/event", event1).result; not returing api post method , returning response status code not indicate success: 500 (internal server error). similar issue update also

-thanks sindhu

you included parts of uri twice.

   client.baseaddress = new uri("http://localhost:40926/api/event");             // add accept header json format.             client.defaultrequestheaders.accept.add(                 new mediatypewithqualityheadervalue("application/json"));             var response = client.postasjsonasync("api/event", event1).result; 

you duplicated "api/event". , uri, api/event/api/event/. baseaddress need hostname , port.

e.g.

   client.baseaddress = new uri("http://localhost:40926");    var response = client.postasjsonasync("api/event", event1).result; 

also getting 500 internal server error somewhere else in sever code. can't right now.


Comments

Popular posts from this blog

apache - Remove .php and add trailing slash in url using htaccess not loading css -

javascript - jQuery show full size image on click -