我有一个在 Azure 中作为 WebApp 托管的 ASP .NET 应用程序,以及一个在 Azure 中使用该 WebApi 的 Xamarin 客户端应用程序。当我将 webapi 更改为 Azure WebApp(之前托管在非 Azure VM 中,并且运行良好)后,我的 Xamarin 客户端开始在每次端点调用时收到“套接字未连接”异常,尽管 WebApp 的设置页面中启用了 WebSockets。
Xamarin Forms 应用程序正在使用 Refit 来调用这些 .NET 端点。
真的需要一些帮助,因为我对不依赖 VM 来托管此应用程序的想法非常满意,只需要纠正这个问题就可以得到它。
我已经启用了 Azure WebApps CORS,但问题仍然存在,我也尝试禁用 Azure CORS 并允许我的应用程序 Cors 中的所有来源/标头,但是我在每次 webapi 调用时仍收到“套接字未连接”的消息。
我意识到只有当我将 SSL 地址绑定到 web 应用程序时才会发生错误,当 GET 直接转到 xxxx.azurewebsites.net 时,它可以正常工作(它能够连接),尽管这对我来说意义不大,因为应用程序托管在 IIS 中(在 VM 上)使用相同的证书并且它可以正常工作。
答案1
如果您来自其他域,则需要在 Web 应用上配置跨域资源共享 (CORS)。如果不启用 CORS,您将无法连接。
https://docs.microsoft.com/en-us/azure/app-service/app-service-web-tutorial-rest-api