抛出Azure MobileServiceInvalidOperation异常

本文关键字:异常 MobileServiceInvalidOperation Azure 抛出 | 更新日期: 2023-09-27 18:16:11

我正在使用下载用于使用Azure移动服务的示例时生成的xamarin.forms应用程序。我做了一些修改。首先,我将Todo更改为entry.cs:

public class entry
{
    string id;
    [JsonProperty("ID")]
    public string ID { get; set; }
    [JsonProperty("Time")]
    public int Time { get; set; }
    [JsonProperty("Percentage")]
    public int Percentage { get; set; }
    //I have omitted Device, Replacement, Use_profile, Longitude, Latitude, Battery
}

我尝试添加一个新的行表在我的SQL数据库中,通过调用以下代码从我的页面在cs:

var data = new entry{ Longitude = await GetLongitude(), Latitude = await GetLatitude(), Percentage = bpm }; // initialise new data entry 
await AddItem (data);  

被调用时,应用程序崩溃。下面是抛出异常时的日志要点。它给出了一个Microsoft.WindowsAzure.MobileServices.MobileServiceInvalidOpperationException has been thrown

解释:

The resource you are looking for has been removed, had it's name changed, or is temporarily unavailable

这是在ios项目的main.cs中的UIApplication.Main (args, null, "AppDelegate");行抛出的。

如果你能想到为什么会这样,我将不胜感激。

<标题>更新:

只是为了添加更多的信息,我在http://project.azurewebsites.net有一个web服务设置,这是我在xamarin中构建的移动应用程序的常量部分引用的地址。然而,SQL数据库是在http://project-db.database.windows.net我如何得到这个?我可以在原始域上创建数据库,或者在应用程序中更改引用吗?

抛出Azure MobileServiceInvalidOperation异常

它看起来像你得到一个404错误,当你调用你的移动后端。您需要添加一个新的Table Controller来处理"entry"类,因为您的客户端将尝试发送到不存在的https://yourservice.azurewebsites.net/tables/entry。

在您的服务器项目中,您需要添加一个继承自EntityData的新类Entry。然后将这种类型添加到DbContext类中,并添加一个表控制器。本关于移动服务控制器的教程可能会有所帮助。如果你正在使用移动应用程序,你可以使用添加->新脚手架项目-> Azure移动应用程序->移动应用程序表控制器。

然后,部署你的服务器项目,使新的REST端点可用,然后你的客户端应用程序应该能够连接。

编辑添加:你指定连接到SQL数据库的ms_tableonnectionstring设置在web.config。Azure门户的Connection Strings部分的任何值都将覆盖此值。