Azure移动服务:无法连接到IIS Express中托管的本地实例

时间:2014-11-25 06:27:15

标签: visual-studio-2013 iis-express azure-mobile-services

我在IIS Express上托管的Azure移动服务遇到了一个奇怪的问题。我搜索了SO和网络,但我找不到任何适合我的问题的东西,所以这里是:

当我在Visual Studio中创建一个新的Azure移动服务项目(VS 2013 Upd.4,Azure Tools 2.2,管理员模式)时,一切看起来都很好,我可以按预期通过它进行交互测试(Ctrl +)F5后弹出的网页。

但是,当我尝试以编程方式从客户端调用服务时,例如就像在这个测试中一样

[TestFixture]
public class Fixture
{
    private static readonly MobileServiceClient ServiceClient =
        new MobileServiceClient("http://localhost:64481/");

    [Test]
    public async void Test()
    {
        IMobileServiceTable<TodoItem> table = ServiceClient.GetTable<TodoItem>();
        List<TodoItem> items = await table.ToListAsync();

        Assert.That(items.Count, Is.EqualTo(2));
    }
}

...然后我(大部分时间)都无法访问该服务,我得到了这个例外:

System.Net.Http.HttpRequestException : An error occurred while sending the request.
  ----> System.Net.WebException : Unable to connect to the remote server
  ----> System.Net.Sockets.SocketException : A connection attempt failed because the connected party did not properly respond after a period of time or established connection failed because connected host has failed to respond [::1]:64481

奇怪的是,上述测试偶尔会成功,但大部分时间都会因此异常而失败。我发现这背后没有任何规律性。如果IISExpress刚刚启动并且测试网页是开放的,那么它似乎有更大的机会成功,但这不是一个严格的规则。

到目前为止,我已使用ProcessMonitor监视iisexpress.exe进程并从控制台手动执行命令行(管理模式)。当我这样做时,测试页面再次按预期工作,我可以在控制台看到请求。我还可以看到,在错误情形中没有请求到达Web服务器。很明显,它会被预先出现的链中的东西所阻挡。

备注:错误也会在没有任何防火墙运行的情况下发生。

我完全坚持这一点,不知道问题可能是什么,甚至不知道我能做些什么来找出发生了什么。对此有任何帮助表示赞赏。

0 个答案:

没有答案