【发布时间】:2015-09-30 08:12:35
【问题描述】:
我在我的 Mac OS X(Xamarin Studio 或本地语言)上进行所有移动开发,并使用 Parallels 在 Visual Studio 中运行我的 Microsoft Azure 移动服务后端。 我已经到了要测试我的 Azure 移动 API 的地步,但我不想针对每个更改发布服务并对其进行调试。
我的问题是,我部署到我的 IIS,无论是快递还是本地,在我的 Mac 物理主机上查看 API 的着陆页方面工作正常,但只要我点击试用,我就会收到一条身份验证消息,检查屏幕截图,我现在不希望应用任何安全性。
如何禁用它并从我的 Mac 以及最终从我的移动项目中测试我的 Azure 移动服务 API。
[编辑]
我应该提到,在我的 VM Windows 8 中,IIS 运行正常,我无需任何用户名/密码即可访问 API。
[编辑 2] 来自@lindydonna 的回答。
代理似乎工作正常,因为我可以从我的 Mac 调用 localhost/MyApiService,它会转到我的 Windows 8 VM 本地 IIS 服务器。
所以我可以访问 API 服务器、所有控制器及其端点,您选择一个端点并获取示例屏幕,单击尝试并无法完成 HTTP 请求,404/NotFound 错误。见截图。
gist 中 GET 请求的 BODY。
以上是本地 IIS 设置中的问题,因为在尝试 Azure 移动服务测试页面时,相同的行为适用于 Windows 8 VM 环境。
我使用 Postman 让它工作,它正确返回 JSON 数据,iOS 模拟器似乎不适用于 localhost。 MobileServiceContext 在尝试拉取时抛出异常。
protected virtual async Task PullAsync (IMobileServiceTableQuery<TEntity> query)
{
try {
await Initialization;
IMobileServiceSyncTable<TEntity> entityTable = GetTable ();
await entityTable.PullAsync (typeof(TEntity).ToString (), query); // <-- The System.Net.WebException thrown here.
await entityTable.PurgeAsync ();
} catch (MobileServiceInvalidOperationException preconditionFailedEx) {
Debug.WriteLine(preconditionFailedEx.Message);
}
}
【问题讨论】:
-
当您从运行 IIS 的虚拟机尝试此请求时会发生什么?此外,尝试在 Mac 上使用 Postman(Chrome 扩展程序)发送请求。现在正在浏览帮助页面,这可能会产生一些奇怪的东西。如果这不起作用,请尝试本教程中的步骤:azure.microsoft.com/en-us/documentation/articles/… 使您的应用程序自托管。
-
@lindydonna 谢谢,它适用于 Postman。关于测试页面错误,我实际上用Windows VM测试了我的本地IIS,它具有相同的效果,它必须与IIS设置有关。我无法访问 IIS Express,但已经足够好了。从我的 Xamarin 解决方案中,虽然我从模拟器中收到连接错误。差不多了。更新了截图。
标签: iis virtual-machine azure-mobile-services