Filip Skakun
Filip Skakun

Reputation: 31724

HttpClient->GetStringAsync() throws 0x000006F4 for https Uris

The code below works fine for me if I use an http URI, but fails for equivalent https alternative. It works fine when built and run on another machine or when I include it in another app.

GetStringAsync throws an exception: “Exception thrown at 0x770B5722 (KernelBase.dll) in .exe: 0x000006F4: A null reference pointer was passed to the stub. occurred”.

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.
    });
}));

Upvotes: 2

Views: 208

Answers (2)

Dmitry
Dmitry

Reputation: 1337

For me, network stack reset didn't help at all, even device reboot didn't help, but your own answer have pointed me in the right direction: it wasn't my code who suddendly went mad, it was Windows. So what actually helped in my case is starting app without debugger (that is, from Start menu) - after that app continues to work fine when started from Visual Studio. It have happened a few times now, and I can confirm that it always helps.

Upvotes: 1

Filip Skakun
Filip Skakun

Reputation: 31724

Running netsh winsock reset to reset the network stack seems to fix the issue!

Upvotes: 1

Related Questions