我試圖從我的webAPI控制器的POST方法之一發送響應。在數據庫中,這些值得到保存,但在try和catch中發送響應時,拋出以下異常。ASP.NET WebAPI發送響應錯誤
異常消息:「值不能爲空參數名稱:請求。」
控制器方法代碼:
[HttpPost]
public HttpResponseMessage AddEmployee(Employee emp)
{
try
{
using (EmployeeEntities dbEntity = new EmployeeEntities())
{
dbEntity.Configuration.LazyLoadingEnabled = false;
dbEntity.Employees.Add(emp);
dbEntity.SaveChanges();
return Request.CreateResponse(HttpStatusCode.Created, emp); // EXCEPTION IS THROWN HERE
}
}
catch(Exception ex)
{
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message);
}
}
請讓我知道我需要做的來解決這個問題。謝謝。
調用從如下一MVC的控制器方法的API控制器的方法,
EmployeeController empCtrl = new EmployeeController();
empCtrl.AddEmployee(emp);
你可以在你調用這個方法的地方添加你的代碼嗎? – zzT
@zzT更新了我的問題,並詳細介紹了我所說的API控制器方法。請檢查。 – Manju
@Manju你爲什麼手動創建控制器?該API創建它作爲請求流的一部分。通過手動創建它,你不會填充其他所需的屬性,比如'Request',這就是爲什麼你的'Request'是'null'的原因。 – Nkosi