Web API 2从一个控制器调用来自其他控制器的Post调用不起作用

时间:2015-10-27 19:46:29

标签: .net

我有一个WebAPI项目,它有两个模型,传感器和传感器日志。传感器具有状态和名称,传感器日志具有名称,状态和日期属性。所有这些对自己的工作都很好。

我的问题是,当我放入传感器时,我也想将其发布到传感器日志中。这样我就可以在保持传感器本身的当前状态的同时更新日志。现在我可以放入传感器并从他们自己的控制器发送到传感器日志但是当我尝试从传感器的put方法调用传感器日志中的帖子时,我得到了意想不到的结果。

我没有在传感器和传感器日志上放置传感器,而是在传感器和传感器日志上都有一个帖子。即。 put不再更新传感器,但在传感器表中创建一个新传感器,然后将新传感器与发布的传感器日志相关联。可能是什么导致了这个?  public async void PutSensor(int id,Sensor sensor)         {

        db.Entry(sensor).State = EntityState.Modified;

        try
        {
            db.SaveChanges();
        }
        catch (DbUpdateConcurrencyException)
        {

        }

        // return StatusCode(HttpStatusCode.NoContent);

        using (var client = new HttpClient())
        {

            client.BaseAddress = new Uri("http://localhost:50293/");
            client.DefaultRequestHeaders.Accept.Clear();
            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));


            // HTTP POST
            var log = new SensorLog() { StateId = sensor.StateId, SensorId = sensor.Id };
            HttpResponseMessage responsee = await client.PostAsJsonAsync("api/SensorLogs/", log);

        }        
    }

0 个答案:

没有答案