POST请求挂起“待定”

时间:2016-07-15 21:01:30

标签: asp.net post

我有一个room,该会议室包含零个或多个devices。然后我有一个控制器,RoomController。这是控制器的简化版本:

[ResponseType(typeof(Room))]
public IHttpActionResult Postroom(NewRoom newRoom)
{
    ...
    Room room = new Room();
    room.building_id = newRoom.building_id;
    ...and soforth...

    if(newRoom.devices != null)
    {
        foreach (DeviceNew newDevice in newRoom.devices)
        {
            Device device = db.Devices.FirstOrDefault(d => d.id == newDevice.id);
            room.Devices.Add(device);
        }
    }

    db.SaveChanges();
    return Ok(room);
}

控制器正常工作。创建了room,与任何附加的devices一样。遗憾的是,如果请求中包含设备,POST请求永远不会返回任何。也就是说,在Chrome开发工具中,请求将永远“待定”。

如果不是任何设备,请求将按预期返回200

同样,控制器正常工作,即使包含devices也是如此。记录已创建。该路线不会按照应有的方式返回Ok

我错过了什么吗?

谢谢!

编辑:

Room模型(简化):

namespace TheThing.Models_Database
{
    using System;
    ...

    public partial class Room
    {
        public Room()
        {
            Devices = new HashSet<Device>();
        }

        public int id { get; set; }

        public virtual ICollection<Device> Devices { get; set; }
    }
}

Device模型(简化):

namespace TheThing.Models_Database
{
    using System;
    ...

    public partial class Device
    {
        public Device()
        {
            ...
            Rooms = new HashSet<Room>();
        }

        public int id { get; set; }
        ...
        public virtual ICollection<Room> Rooms { get; set; }
    }
}

0 个答案:

没有答案