Мой метод возвращает пустой список:
Вот мой код:
[HttpGet]
[Route("GetDomoticzDevices")]
public async Task<List<DomoticzDeviceStatus>> GetAsync() {
KlevebrandContext dbContext = new KlevebrandContext();
List<DomoticzDeviceStatus> domoticzDeviceStatuses = new List<DomoticzDeviceStatus>();
foreach(var domoticzDevice in dbContext.TblDomoticzDevices.ToList())
{
var response = await client.GetAsync("http://10.0.0.11:8080/json.htm?type=devices&rid = " + domoticzDevice.Idx.ToString());
domoticzDeviceStatuses.Add(new DomoticzDeviceStatus(domoticzDevice, ((JObject)JsonConvert.DeserializeObject(response.Content.ReadAsStringAsync().Result))["result"][0]["Data"].ToString(), ((JObject)JsonConvert.DeserializeObject(response.Content.ReadAsStringAsync().Result))["result"][0]["LastUpdate"].ToString()));
}
return domoticzDeviceStatuses;
}
В моем отладчике "domoticzDeviceStatuses" имеет 15 объектов с установленными значениями, но в моем браузере он пуст.
Вот результат в отладчике:
В списке есть значения porpper.
Класс DomoticzDeviceStatus выглядит следующим образом:
public class DomoticzDeviceStatus
{
TblDomoticzDevice _tblDomoticzDevice;
string _device_status;
string _timestamp;
public DomoticzDeviceStatus(TblDomoticzDevice tblDomoticzDevice, string device_status, string timestamp) {
_tblDomoticzDevice = tblDomoticzDevice;
_device_status = device_status;
_timestamp = timestamp;
}
}
Если вам нужна дополнительная информация, просто скажите мне :)
Заранее спасибо! С уважением Макс
Что ты имеешь в виду?
Попробуйте изменить поля в вашей модели на свойства.
public class DomoticzDeviceStatus
{
public TblDomoticzDevice TblDomoticzDevice {get; set;}
public string Device_status {get; set;}
public string Timestamp {get; set;}
public DomoticzDeviceStatus(TblDomoticzDevice tblDomoticzDevice, string
device_status, string timestamp) {
TblDomoticzDevice = tblDomoticzDevice;
Device_status = device_status;
Timestamp = timestamp;
}
}
Изменить поля на свойства