Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/137.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 本机Azure移动服务(C+;+;)在断开连接时崩溃_C++_Azure_Windows Runtime_Azure Mobile Services - Fatal编程技术网

C++ 本机Azure移动服务(C+;+;)在断开连接时崩溃

C++ 本机Azure移动服务(C+;+;)在断开连接时崩溃,c++,azure,windows-runtime,azure-mobile-services,C++,Azure,Windows Runtime,Azure Mobile Services,我有一个原生WinRT应用程序,它的后端使用Azure Mobile。只要它能到达服务区,它就工作得很好。如果internet断开连接,任何查询都会使应用程序崩溃,而不会发出警告或捕获异常,因为崩溃发生在异步调用中。以下是我发现的再现问题的最低代码: azure::mobile::client c(L"https://MYSERVICE.azure-mobile.net/", L"MYKEY"); azure::mobile::table table(c, L"MYTABLE"); table.

我有一个原生WinRT应用程序,它的后端使用Azure Mobile。只要它能到达服务区,它就工作得很好。如果internet断开连接,任何查询都会使应用程序崩溃,而不会发出警告或捕获异常,因为崩溃发生在异步调用中。以下是我发现的再现问题的最低代码:

azure::mobile::client c(L"https://MYSERVICE.azure-mobile.net/", L"MYKEY");
azure::mobile::table table(c, L"MYTABLE");
table.read(); // Adding any .then continuation also leads to exception
这里有一个例外:

中0x018DCFF6(msvcr120d_app.dll)处未处理的异常:向认为无效参数为致命参数的函数传递了无效参数

如果我要在进行任何查询之前使用azure mobile API检测连接,我找不到任何方法来做到这一点。我不认为简单地检查互联网连接是一个足够的答案,我还认为在进行任何查询之前手动ping服务是一种检测错误的不必要的迟钝方式。如果出现错误,查询结果似乎应该返回为空,但代码永远不会走那么远。我错过什么了吗


更新:如果我成功连接到服务,但尚未创建表,应用程序似乎也会崩溃。同样,使用我能找到的API无法检测这种情况。

这并不是说这会直接有帮助,但我在使用
HttpClient
和普通的Windows 8.1 C#应用程序(即当连接中断时,应用程序崩溃并出现不可恢复的错误)时看到了同样的情况。我想知道Azure C++类是否使用了相同的框架组件来连接。你如何在C语言中工作?我还没有找到一个好的方法。我可以一直轻松地使应用程序崩溃:(我正在Windows 10中尝试一个新的通信选项,不幸的是,这对您没有帮助。我尝试复制您的问题,但我无法实现。也许可以就您的问题提出一个问题,我们可以找到问题的根源,也许这将导致我的问题的答案?