【问题标题】:Azure MobileServiceInvalidOperation Exception has been thrown已引发 Azure MobileServiceInvalidOperation 异常
【发布时间】:2015-10-05 17:14:50
【问题描述】:

我正在使用在您下载用于使用 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);  

调用此方法时,应用程序崩溃。 这是抛出异常时日志的gist。它给出了一个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 我该如何解决这个问题?我可以在原始域上创建一个数据库,或者在应用程序中更改引用吗?

【问题讨论】:

    标签: c# azure xamarin


    【解决方案1】:

    您在调用移动后端时似乎遇到了 404 错误。您需要添加一个新的表控制器来处理“入口”类,因为您的客户端将尝试发布到不存在的https://yourservice.azurewebsites.net/tables/entry

    在您的服务器项目中,您需要添加一个继承自EntityData 的新类Entry。然后将此类型添加到 DbContext 类并添加表控制器。 Mobile Services controllers 的本教程可能会有所帮助。如果您使用的是移动应用程序,您将使用 Add -> New Scaffolded Item -> Azure Mobile Apps -> Mobile Apps Table Controller。

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

    编辑添加:您在 web.config 的 MS_TableConnectionString 设置中指定连接到 SQL 数据库。 Azure 门户的连接字符串部分的任何值都将覆盖它。如需更多信息,请参阅https://azure.microsoft.com/en-us/documentation/articles/web-sites-configure/

    【讨论】:

    • 谢谢,标准 Todo Azure 应用程序中的哪个文件充当表控制器? Visual Studio 似乎没有该教程中引用的脚手架项模板。
    • 确保您安装了最新版本的 Azure SDK。在快速入门服务器项目中,有一个名为 TodoItemsController 的 TableController。这都是基于 ASP.NET WebAPI,所以如果你熟悉它,它遵循一个非常相似的模式。
    • 嗯,还在挣扎。我正在使用 Xamarin.forms (PCL),因此根据this 教程,最终构建了一个 Web 应用程序,而不是移动服务,这还能工作吗?
    • 是的,这实际上是一个App Service Mobile App,它是Mobile Services的下一个版本。
    猜你喜欢
    • 2021-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-22
    • 1970-01-01
    • 2021-01-24
    • 1970-01-01
    相关资源
    最近更新 更多