Asp.net web api 数据库刷新后Web API路由更改

Asp.net web api 数据库刷新后Web API路由更改,asp.net-web-api,asp.net-web-api-routing,Asp.net Web Api,Asp.net Web Api Routing,这是一个非常奇怪的问题,我只是把它当作一个奇怪的问题,以防有人以前见过它 我使用的是C#、ASP.NETWebAPI、FluentNHibernate和SQLServer2012 我有一个传递给web api控制器方法的用餐对象: [HttpPost] [ActionName("PostMeal")] public HttpResponseMessage PostMeal(Meal mealToPost) { var helper = new Datahelper(); try

这是一个非常奇怪的问题,我只是把它当作一个奇怪的问题,以防有人以前见过它

我使用的是C#、ASP.NETWebAPI、FluentNHibernate和SQLServer2012

我有一个传递给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顿左右也没问题

我怀疑这是某种映射问题,但我无法证明


好奇。

我能想到的第一件事是确保POST调用正在发生,此外,它正在从Body(而不是从header或URLP)映射参数-因此您应该更改公共HttpResponseMessage PostMeal([FromBody]mealToPost),您可以使用fiddler或Google开发工具检查并查看准确的响应。然后你可以在这里发布同样的内容。