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
Post a Comment