В настоящее время я разрабатываю приложение для Windows Phone 8.1 с Azure. (Я бы не рекомендовал это вам после моего опыта). Во всяком случае ... У меня есть классы множественного контроллера, которые действительно делают то же самое (проверьте, существует ли что-то в моей базе данных и если оно не создается). У меня проблема должна быть в функции Read(), которая проверяет базу данных, если запись уже существует:Azure MobileService Null Reference Exception
public async void Read(Device device)
{
IMobileServiceTable mobileServiceTable = Connect();
MobileServiceCollection<Device, Device> devices = null;
try
{
devices = await mobileServiceTable.MobileServiceClient.GetTable<Device>().Where(d => d.Manufacturer == device.Manufacturer && d.Model == device.Model).ToCollectionAsync();
}
catch (Exception e)
{
if (_onDeviceControllerListener != null)
{
_onDeviceControllerListener.OnError(ControllerError.Error.ReadFromDatabase, e.ToString());
}
return;
}
if (_onDeviceControllerListener != null && devices != null)
{
_onDeviceControllerListener.OnRead(devices);
}
}
Это один работает прекрасно, как это следует, но Одер один, который в основном просто копия бросает NullReferenceException по строке «apps = ожидают mobileServiceTab ...»:
public async void Read(Model.App app)
{
IMobileServiceTable mobileServiceTable = Connect();
MobileServiceCollection<Model.App, Model.App> apps = null;
try {
apps = await mobileServiceTable.MobileServiceClient.GetTable<Model.App>().Where(a => a.HardwareId == app.HardwareId && a.PackageId == app.PackageId).ToCollectionAsync();
}
catch (Exception e)
{
if (_onAppControllerListener != null)
{
_onAppControllerListener.OnError(ControllerError.Error.ReadFromDatabase, e.ToString());
}
return;
}
if (_onAppControllerListener != null)
{
_onAppControllerListener.OnRead(apps);
}
}
Кто-нибудь знает, в чем проблема? Спасибо за помощь
Что такое трассировка стека для вашего исключения? – carlosfigueira
Можете ли вы пройти через него и сообщить нам, какой объект имеет значение null при ошибке? – Chris