【发布时间】:2014-10-24 14:43:36
【问题描述】:
我添加了一个普通的移动服务,一直选择默认值。它是一个 .Net 后端,在我在北欧 DC 使用的现有服务器上使用了一个新的 20MB 数据库。我创建了一个空白的 Windows 应用商店应用程序,添加了 MobileServices nuget 包,然后按照说明通过将 MobileServicesClient 添加到我的 App.xaml 类来将我的 MobileService 连接到我的应用程序。然后我添加了一个带有事件处理程序的按钮。处理程序调用异步函数将 TodoItem 对象插入数据库。
App.xaml.cs
public static MobileServiceClient MobileService = new MobileServiceClient(
"https://???.azure-mobile.net/",
"???");
我已将 URI 和 Token 替换为 ???。我使用的那个来自我用于此移动服务的 Azure 门户。
MainPage.xaml.cs
private void Button_Click(object sender, RoutedEventArgs e)
{
CreateItem();
}
private async void CreateItem()
{
TodoItem item = new TodoItem { Text = "Sort This", Complete = false };
try
{
await App.MobileService.GetTable<TodoItem>().InsertAsync(item);
}
catch(MobileServiceInvalidOperationException ex1)
{
Debug.WriteLine(ex1.Message);
}
catch(Exception ex)
{
Debug.WriteLine(ex.Message);
}
}
当我运行此代码并单击按钮时,会引发 MobileServiceInvalidOperationException:
"{"请求无法完成。 (未找到)"}"
我使用的是 VS2013,安装了 Service Pack 2 和 WindowsAzure.MobileServices 1.2.3。
MobileService 正在运行,因为我可以导航到 https://MyMobileService.azure-mobile.net/,但是,如果我单击 Check It Out,我会被要求进行身份验证(MyMobileService 不是实际的 Uri)。
post 请求看起来没问题,但响应是 404。
我整天都在做这个,包括使用 Windows Phone,但没有运气......
我知道我一定是做错了什么,或者北欧的 Azure 存在问题,但我无法解决。
非常感谢任何帮助。
杰森。
【问题讨论】:
-
要通过试用链接进行身份验证,请使用您的应用程序或主密钥作为密码并将用户字段留空。然后看看帖子是否从那里工作。这将有助于将问题追溯到服务器与客户端。
-
我也遇到了这个错误。我不确定究竟是什么修复了它,但我做了以下(使用 .NET 后端):1)禁用防火墙。 2)将解决方案的服务项目部署到AMS。 3) 使用实际 URL 取消注释 MobileServiceClient 构造函数,并使用 localhost URL 注释构造函数。
标签: c# azure windows-store-apps azure-mobile-services