数据库刷新后Web API路由更改

时间:2014-09-05 22:25:39

标签: asp.net-web-api asp.net-web-api-routing

这是一个非常奇怪的问题,我只是把它作为一个奇怪的事情,如果有人以前见过它。

我在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次左右就可以了。

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

好奇。

0 个答案:

没有答案