HttpClient-> GetStringAsync()为https Uris抛出0x000006F4

时间:2017-05-10 20:24:33

标签: https windows-runtime uwp windows-store-apps httpclient

如果我使用http URI,下面的代码对我来说很好,但对于等效的https替代方法却失败了。它在另一台机器上构建和运行时,或者当我将它包含在另一台应用程序中时,它可以正常工作。

GetStringAsync抛出异常:“.exe中的0x770B5722(KernelBase.dll)抛出异常:0x000006F4:将空引用指针传递给存根。发生”。

ThreadPool::RunAsync(ref new WorkItemHandler([this](IAsyncAction^ action)
{
    HttpClient^ client = ref new HttpClient();
    auto uri = ref new Uri(L"https://....");

    auto t = create_task(client->GetStringAsync(uri));

    t.then([](String^ response)
    {
        // response should be valid.
    });
}));

2 个答案:

答案 0 :(得分:1)

运行netsh winsock reset重置网络堆栈似乎解决了这个问题!

答案 1 :(得分:0)

对我来说,网络堆栈重置根本无济于事,甚至设备重启也无济于事,但是您自己的回答向我指明了正确的方向:不是我的代码突然发疯了,而是Windows 。因此,对我而言真正有用的是在没有调试器的情况下启动应用程序(即从“开始”菜单)-从Visual Studio启动后,该应用程序仍然可以正常运行。现在已经发生了几次,我可以肯定它总是有帮助的。