Тайм-аут: исключение WebException при попытке доступа / отладки локального хоста функций Azure [Unity] [PlayFab]

#azure #unity3d #timeout #system.net.webexception #playfab

#azure #unity3d #тайм-аут #system.net.webexception #playfab

Вопрос:

Я пытаюсь локально отлаживать сценарии функций Azure совместно с Unity, но каждый раз получаю ошибки тайм-аута.

У меня здесь есть несколько вещей, и я не уверен, какая из них на самом деле вызывает проблему… Это могут быть настройки в Windows, в отличие от одного из программных продуктов.

Я создаю Unity 2019.4 и использую PlayFab и его способность использовать функции Azure. Когда я пытаюсь выполнить сценарии с серверов Azure, он работает правильно. Но когда я пытаюсь запустить его с локальной отладкой, я получаю WebException: The request timed out System.Net.HttpWebRequest.GetRequestStream (см. Полную ошибку ниже).

Вот что я делаю для настройки:

  • Установите для PlayFab локальную отладку (через расширение VS Code) (и подтвердите, что файл json создан во временной папке)
  • Установите основные инструменты Azure Functions отсюда
  • Запустите отладку функций Azure из VS Code (вывод терминала показывает, что локальный хост работает правильно)

Ошибка тайм-аута ссылается на правильный адрес http://localhost:7071/api/CloudScript/ExecuteFunction , подтвержденный в терминале VS Code при запуске отладки AzFunc.

Когда я клонирую проект на свой MacBook Pro, все работает гладко при локальной отладке.

Итак, из-за этого я попытался проверить, не заблокированы ли порты с помощью PowerShell: netsh firewall show state , и сказал защитнику Windows ничего не блокировать из Unity или Code. Когда я запускаю Netstat -ab в PowerShell / CMD, я получаю:

  Can not obtain ownership information
  TCP    0.0.0.0:7071           DESKTOP-COMPUTER:0      LISTENING
 [func.exe]
  TCP    0.0.0.0:7680           DESKTOP-COMPUTER:0      LISTENING
  

Я не знаю, проблема это или нормально…

Я даже не знаю, что еще нужно проверить. Эта проблема выше моего понимания. Если кто-нибудь знает решение или может указать мне правильное направление, я был бы очень благодарен!


Ниже приведены две ошибки из журнала Unity всякий раз, когда я выполняю сценарий функции Azure через PlayFab во время локальной отладки:

 WebException: The request timed out
System.Net.HttpWebRequest.GetRequestStream () (at <14e3453b740b4bd690e8d4e5a013a715>:0)
PlayFab.Internal.PlayFabWebRequest.Post (PlayFab.Internal.CallRequestContainer reqContainer) (at Assets/PlayFabSDK/Shared/Internal/PlayFabHttp/PlayFabWebRequest.cs:319)
Rethrow as WebException: Timeout: WebException making http request to: http://localhost:7071/api/CloudScript/ExecuteFunction
UnityEngine.Debug:LogException(Exception)
PlayFab.Internal.PlayFabWebRequest:Post(CallRequestContainer) (at Assets/PlayFabSDK/Shared/Internal/PlayFabHttp/PlayFabWebRequest.cs:332)
PlayFab.Internal.PlayFabWebRequest:WorkerThreadMainLoop() (at Assets/PlayFabSDK/Shared/Internal/PlayFabHttp/PlayFabWebRequest.cs:252)
System.Threading.ThreadHelper:ThreadStart()

  
 Timeout: WebException making http request to: http://localhost:7071/api/CloudScript/ExecuteFunction
UnityEngine.Debug:Log(Object)
DemoScript:onPlayFabError(PlayFabError) (at Assets/PlayFabPartySDK/Examples/DemoScript.cs:264)
PlayFab.Internal.<>c__DisplayClass30_0:<QueueRequestError>b__0() (at Assets/PlayFabSDK/Shared/Internal/PlayFabHttp/PlayFabWebRequest.cs:395)
PlayFab.Internal.PlayFabWebRequest:Update() (at Assets/PlayFabSDK/Shared/Internal/PlayFabHttp/PlayFabWebRequest.cs:480)
PlayFab.Internal.PlayFabHttp:Update() (at Assets/PlayFabSDK/Shared/Internal/PlayFabHttp/PlayFabHTTP.cs:364)

  

Комментарии:

1. Небольшое обновление: используя Postman, я смог подключиться к отладчику VS Code. Итак, я подозреваю, что проблема, вероятно, связана с Unity или PlayFab SDK.

Ответ №1:

Хорошо, TLDR: ответ на проблему заключается в том, что не все было обновлено. Итак, обновите все, если вы столкнулись с той же проблемой.

Более конкретно, в моем случае, ресурс «Редактор кода Visual Studio» в диспетчере пакетов Unity.

Я просто хотел выбросить это на случай, если у кого-нибудь возникнет подобная проблема в будущем. Возможно, это не та конкретная вещь, которая нуждается в обновлении, но найдите все, что связано, и убедитесь, что оно обновлено. Не только большие, очевидные вещи (например, Unity или ваша IDE). К счастью для меня в этом случае обновление начало вызывать другие проблемы, и после долгих попыток решить их, я наткнулся на это.

Удачи, будущие коллеги-идиоты!