J'ai le code suivant dans mon contrôleur qui enregistre l'enregistrement dans la base de données en utilisant EF.System.ArgumentNullException n'a pas été gérée par le code utilisateur
[Route("api/abc/PostValues")]
public HttpResponseMessage PostValues(p_abc p_abc)
{
if (ModelState.IsValid)
{
db.p_abc.Add(p_abc);
db.SaveChanges();
HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, p_abc);
response.Headers.Location = new Uri(Url.Link("DefaultApi", new { id = p_abc.p_abc_id }));
return response;
}
else
{
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
}
Les données sont écrites dans le db bien.
Mais sur la ligne suivante
response.Headers.Location = new Uri(Url.Link("DefaultApi", new { id = p_abc.p_abc_id }));
Je me exception suivante
System.ArgumentNullException was unhandled by user code
HResult=-2147467261
Message=Value cannot be null.
Parameter name: uriString
Source=System
ParamName=uriString
StackTrace:
at System.Uri..ctor(String uriString)
at App.Controllers.abcController.p_abc(p_abc p_abc) in c:\xxx\abcController.cs:line 127
at lambda_method(Closure , Object , Object[])
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass10.<GetExecutor>b__9(Object instance, Object[] methodParameters)
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.Execute(Object instance, Object[] arguments)
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancellationToken)
InnerException:
S'il vous plaît laissez-moi savoir comment corriger cette exception
Pouvez-vous vérifier que vous avez une entrée dans votre '' WebApiConfig.cs' pour DefaultApi'? Cela devrait ressembler à ceci: 'config.Routes.MapHttpRoute (" DefaultApi "," ... ' – McCee