【问题标题】:Local Azure Mobile Service shows default items instead of modified items本地 Azure 移动服务显示默认项而不是修改项
【发布时间】:2015-12-09 12:07:59
【问题描述】:

我正在 Visual Studio 中创建一个小型 UWP 项目,其中包含一个 Azure 数据库和一个 Azure 移动服务。我从 Azure 管理门户下载了启动项目,因此我几乎没有对默认项目进行任何修改。

在默认的WebApiConfig.cs类中,我修改了如下一段代码:

public class WP_TravelApp_G17Initializer : ClearDatabaseSchemaIfModelChanges<WP_TravelApp_G17Context>
{
    protected override void Seed(WP_TravelApp_G17Context context)
    {
        List<TodoItem> todoItems = new List<TodoItem>
        {
            new TodoItem { Id = Guid.NewGuid().ToString(), Text = "First blablablablablab", Complete = true },
            new TodoItem { Id = Guid.NewGuid().ToString(), Text = "Second azerty", Complete = true }
        };

        foreach (TodoItem todoItem in todoItems)
        {
            context.Set<TodoItem>().Add(todoItem);
        }

        base.Seed(context);
    }
}

记录的默认 ToDoItems 是“first item”和“second todoitem”,均为 false。但是,当我在本地运行该服务并使用 Postman 或类似的东西进行测试时,我会得到默认项目、第一项和第二项,而不是我修改后的乱码项目。当我尝试为我的应用程序执行 API 调用时,我得到了相同的默认项,但它甚至没有被填写。有谁知道出了什么问题或我应该从哪里开始查找?

【问题讨论】:

    标签: c# .net azure azure-mobile-services


    【解决方案1】:

    当您测试您的入门项目时,它默认带有来自 Azure 的 localhost 设置。

    您是否将 App.xaml.cs 中的配置更改为您在 Azure 上发布的实际 API 端点?

    来自:

    public static MobileServiceClient MobileService = new MobileServiceClient("http://localhost:50270/"); 
    

    到:

     public static MobileServiceClient MobileService = new MobileServiceClient(
                "https://yourservice.azure-mobile.net/",
                "yourazurecridential"
            );
    

    感谢和问候。

    【讨论】:

    • 是的,我已经改过了。这是别的东西,我会尽快发布答案。
    【解决方案2】:

    在老师的帮助下,我解决了自己的问题。问题不在于 WebApiConfig 类,由于某种原因没有使用 Seed 方法。

    问题是我调用了 .ToCollectionAsync() 方法,但程序没有等待它的响应。所以我不得不将 await 添加到调用 API 调用的方法中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-17
      • 2016-04-10
      • 1970-01-01
      • 1970-01-01
      • 2016-03-06
      • 2013-02-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多