Azure MobileService 空引用异常

Azure MobileService Null Reference Exception

我目前正在使用 Azure 为 windows phone 8.1 开发应用程序。 (根据我的经验,我不会真的向你推荐这个)。无论如何......我有多个控制器 类 在里面谁真的做同样的事情(检查我的数据库中是否已经存在,如果不存在则创建它)。我的问题必须在 Read() 函数中,该函数检查数据库是否已存在条目:

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);
    }
}

这个完全可以正常工作,但是基本上只是一个副本的另一个在 "apps = await mobileServiceTab...":

行抛出 NullReferenceException
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);
    }
}

有人知道问题出在哪里吗? 感谢帮助

您可以添加一个 try...catch 块并检查 "MobileServiceInvalidOperationException" 异常。另请查看调用堆栈以了解发生了什么。

如果您成功调用移动服务以检索数据,提琴手跟踪也会让您知道。然后您可以确定问题是否在于您如何处理代码中的数据。

再看看您的 MobileServiceContext class 并确保所有属性都被考虑在内,尤其是使用 "Model.App" class 的属性。例如

public virtual DbSet<Model.App> SomeProperty { get; set; }

希望这对您有所帮助。