这是一个非常奇怪的问题,我只是把它作为一个奇怪的事情,如果有人以前见过它。
我在C#,ASP.Net web api,Fluent Nhibernate和SQL Server 2012上
我有一个Meal对象,我传递给web api控制器方法:
[HttpPost]
[ActionName("PostMeal")]
public HttpResponseMessage PostMeal(Meal mealToPost)
{
var helper = new Datahelper();
try
{
var fshelper = new FoodServiceHelper(helper);
fshelper.SaveMeal(mealToPost);
return Request.CreateResponse(HttpStatusCode.OK);
}
catch (Exception ex)
{
var response = Request.CreateErrorResponse(HttpStatusCode.NotAcceptable, ex);
return response;
}
}
帖子的方法同样非常简单:
public void SaveMeal(Meal mealToPost)
{
var url = _connectionString + "food/PostMeal";
var client = new HttpClient();
var formatter = new JsonMediaTypeFormatter
{
SerializerSettings = { ReferenceLoopHandling = ReferenceLoopHandling.Ignore }
};
var clientTask = client.PostAsync(url, mealToPost, formatter)
.ContinueWith(posttask => posttask.Result.EnsureSuccessStatusCode());
clientTask.wait();
}
用餐对象非常简单。一些元素,一些通用集合。
我可以正常发布几次(通常是大约20次)的饭菜,此时它不知何故无法找到路线。我通过向服务器端添加断点来验证这一点。它在前几次击中它,然后它甚至找不到控制器方法。
这是奇怪的部分。如果我放弃并重新创建数据库,那么再过20次左右就可以了。
我怀疑这是某种映射问题,但我无法证明这一点。
好奇。