需要从Mac OS X主机访问我的VM Windows 8本地IIS

需要从Mac OS X主机访问我的VM Windows 8本地IIS,iis,virtual-machine,azure-mobile-services,Iis,Virtual Machine,Azure Mobile Services,我在MacOSX(XamarinStudio或本机语言)上进行所有移动开发,并使用Parallels在VisualStudio中运行我的Microsoft Azure移动服务后端。 我已经到了我想测试我的Azure移动API的地步,但我不想为每次更改发布服务,也不想调试它 我的问题是,我部署到我的IIS,无论是express还是local,都可以在我的Mac物理主机上看到API的land页面,但只要单击“试用”,我就会收到一条验证消息,请查看屏幕截图,我现在不希望应用任何安全性 如何禁用它并从我

我在MacOSX(XamarinStudio或本机语言)上进行所有移动开发,并使用Parallels在VisualStudio中运行我的Microsoft Azure移动服务后端。 我已经到了我想测试我的Azure移动API的地步,但我不想为每次更改发布服务,也不想调试它

我的问题是,我部署到我的IIS,无论是express还是local,都可以在我的Mac物理主机上看到API的land页面,但只要单击“试用”,我就会收到一条验证消息,请查看屏幕截图,我现在不希望应用任何安全性

如何禁用它并从我的Mac以及最终从我的移动项目测试我的Azure移动服务API

[编辑]

我应该提到的是,在我的VM Windows 8中,IIS运行正常,我可以在不使用任何用户名/密码的情况下访问API

[EDIT 2]来自@lindydonna answer.

代理似乎工作正常,因为我可以在Mac上调用localhost/MyApiService,并将其连接到我的Windows 8 VM本地IIS服务器

因此,我可以访问API服务器、所有控制器及其端点,您选择一个端点并获取示例屏幕,单击“尝试”,但无法完成HTTP请求,404/NotFound错误。见截图

此文件中GET请求的主体

以上是本地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);
    }
}

受保护的虚拟异步任务PullAsync(IMobileServiceTableQuery)
{
试一试{
等待初始化;
IMobileServiceSyncTable entityTable=GetTable();

等待entityTable.PullAsync(typeof(tenty).ToString(),query);//将用户名留空,并使用应用程序或主密钥作为密码


这里还回答:

将用户名留空,并使用您的应用程序或主密钥作为密码


这里还回答:

问题在于,您的IIS Express实例配置为不接受外部网络连接作为安全预防措施,并且Parallels VM被视为不同的机器

最简单的解决方案是遵循Fiddler教程:,该教程将Fiddler设置为VM上的代理

然后,在Mac上,您应该修改网络设置并添加一个连接到Fiddler代理()的代理设置。iOS模拟器将拾取这些代理设置

注意:Fiddler设置会在VM上打开一个端口,当您不再使用该端口时,应将其关闭,作为安全预防措施


此外,根据此响应(),您还需要重新启动iOS模拟器,以便它拾取新设置。

问题在于,您的IIS Express实例配置为不接受外部网络连接作为安全预防措施,并且Parallels VM被视为不同的机器

最简单的解决方案是遵循Fiddler教程:,该教程将Fiddler设置为VM上的代理

然后,在Mac上,您应该修改网络设置并添加一个连接到Fiddler代理()的代理设置。iOS模拟器将拾取这些代理设置

注意:Fiddler设置会在VM上打开一个端口,当您不再使用该端口时,应将其关闭,作为安全预防措施


另外,根据这个回答()您还需要重新启动iOS模拟器,以便它选择新的设置。

是的,如果服务发布到云中,则此功能有效,而不是在尝试访问本地服务时。首先,我尝试在本地VM上运行时,您无法从Mac上访问它?这是因为我们只允许本地主机访问本地部署的instance作为一种安全保护。我将研究是否有办法禁用它。我将不胜感激,谢谢。您知道,当您开发跨平台并希望通过网络机器访问API进行测试时,这非常有意义。完全有意义。我向团队发送了一条消息,希望我能得到答案。最糟糕的是案件,星期一:(谢谢Chris,非常感谢。是的,如果该服务发布到云上,而不是尝试在本地访问它时,这是有效的。首先,我尝试在本地VM上运行时,您不能从您的Mac上访问它?这是因为我们只允许本地主机访问本地部署的实例作为安全保护。我将调查是否有一种禁用此功能的方法。我将不胜感激,谢谢。您知道,当您开发跨平台并希望通过网络机器访问用于测试目的的API时,这非常有意义。完全有意义。我向团队发送了一条消息,希望我能得到答案。最坏的情况是,周一:(谢谢Chris,非常感谢。当您从运行IIS的VM尝试此请求时会发生什么?另外,请尝试在Mac上使用Postman(Chrome扩展)发送请求。现在正在浏览“帮助”页,这可能会产生一些奇怪的结果。如果这不起作用,请尝试本教程中的步骤:使应用程序自托管。@lindydonna谢谢,它与Postman一起工作。关于测试页错误,我实际上用Windows VM测试了我的本地IIS,它具有相同的效果,必须可能与IIS设置有关。我无法访问IIS Express,但已经够好了。虽然从我的Xamarin解决方案中,我从模拟器中获得了一个连接错误。几乎在那里。使用屏幕截图更新。当您从运行IIS的VM尝试此请求时会发生什么情况?另外,尝试在Mac上使用Postman(Chrome扩展)发送请求。现在通过