.net 来自一个控制器的Web API 2 Put调用来自另一个控制器的Post不工作
我有一个WebAPI项目,它有两个模型,传感器和传感器日志。传感器有状态和名称,传感器日志有名称、状态和日期属性。所有这些都是他们自己的作品 我的问题是,当我把我也想张贴到传感器日志传感器。这样我可以更新日志,同时保持传感器本身的当前状态。现在,我可以从他们自己的控制器向传感器和传感器日志发送post,但是当我尝试从传感器的put方法调用传感器日志的post时,我得到了一个意外的结果 我在传感器和传感器日志上都有一个帖子,而不是贴在传感器上和传感器日志上。即,put不再更新传感器,而是在传感器表中创建一个新传感器,然后将新传感器与发布的传感器日志相关联。这可能是什么原因造成的? 公共异步传感器(int id,传感器) {.net 来自一个控制器的Web API 2 Put调用来自另一个控制器的Post不工作,.net,.net,我有一个WebAPI项目,它有两个模型,传感器和传感器日志。传感器有状态和名称,传感器日志有名称、状态和日期属性。所有这些都是他们自己的作品 我的问题是,当我把我也想张贴到传感器日志传感器。这样我可以更新日志,同时保持传感器本身的当前状态。现在,我可以从他们自己的控制器向传感器和传感器日志发送post,但是当我尝试从传感器的put方法调用传感器日志的post时,我得到了一个意外的结果 我在传感器和传感器日志上都有一个帖子,而不是贴在传感器上和传感器日志上。即,put不再更新传感器,而是在传感器表
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);
}
}
我在下面编辑了问题并添加了代码。我在下面编辑了问题并添加了代码