超时:尝试 access/debug Azure Functions [Unity] [PlayFab] LocalHost 时出现 WebException

Timeout: WebException when trying to access/debug LocalHost of Azure Functions [Unity] [PlayFab]

我正在尝试结合 Unity 在本地调试 Azure Function 脚本,但每次都会出现超时错误。

我这里有几件事,但我不确定是哪一个导致了问题...它可能是 Windows 上的设置,而不是其中一个软件。

我正在 Unity 2019.4 中构建,并使用 PlayFab 并且它能够使用 Azure Functions。当我尝试从 Azure 服务器执行脚本时,它运行正常。但是当我尝试使用本地调试 运行 它时,我得到 WebException: The request timed out System.Net.HttpWebRequest.GetRequestStream (请参阅下面的完整错误)。

这是我正在做的设置:

超时错误引用了正确的地址 http://localhost:7071/api/CloudScript/ExecuteFunction,正如在启动 AzFunc 调试时在 VS 代码终端中确认的那样。

当我将项目克隆到我的 MacBook Pro 时,在本地调试中一切运行都很顺利。

因此,因此,我尝试检查以确保端口未通过 PowerShell 被阻止:netsh firewall show state,并告诉 Windows Defender 不要阻止来自 Unity 或代码的任何内容。当我 运行 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

不知道这是问题还是正常...

我什至不知道还要检查什么。这个问题超出了我。如果有人知道解决方案,或者可以指出正确的方向,我将不胜感激!


以下是我在本地调试时通过 PlayFab 执行 Azure Function 脚本时 Unity 日志中的两个错误:

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)

好的,TLDR:问题的答案是并非所有内容都已更新。因此,如果您遇到同样的问题,请更新所有内容

更具体地说,就我而言,Unity 包管理器中的“Visual Studio 代码编辑器”资产。

我只是想把它放在那里,以防将来有人遇到这样的问题。它可能不是需要升级的特定事物,但搜索所有涉及的事物并确保它已更新。不仅仅是大而明显的事情(比如 Unity 或你的 IDE)。在这种情况下对我来说值得庆幸的是,更新开始引起其他问题,在尝试解决这些问题后,我遇到了很多问题。

祝你好运,未来的白痴们!