C# 在AWS上部署blazor服务器应用程序;错误:如果连接不在';已连接';国家。”;但在本地主机上工作

C# 在AWS上部署blazor服务器应用程序;错误:如果连接不在';已连接';国家。”;但在本地主机上工作,c#,amazon-web-services,.net-core,amazon-elastic-beanstalk,blazor,C#,Amazon Web Services,.net Core,Amazon Elastic Beanstalk,Blazor,我有一个blazor服务器应用程序,它是一个使用AWS Beanstalk部署在AWS上的.Net 5.0应用程序。这是一个单实例部署,因此我目前无法使用负载平衡(由于当前的限制)。部署的环境平台是“在64位Windows Server Core 2019/2.6.3上运行的IIS 10.0”。当我在VS2019和本地iis服务器上本地运行此应用程序时,该应用程序运行良好。但一旦部署,它会在浏览器控制台中抛出一个错误: blazor.server.js:1[2021-02-19T17:17:0

我有一个blazor服务器应用程序,它是一个使用AWS Beanstalk部署在AWS上的.Net 5.0应用程序。这是一个单实例部署,因此我目前无法使用负载平衡(由于当前的限制)。部署的环境平台是“在64位Windows Server Core 2019/2.6.3上运行的IIS 10.0”。当我在VS2019和本地iis服务器上本地运行此应用程序时,该应用程序运行良好。但一旦部署,它会在浏览器控制台中抛出一个错误:

blazor.server.js:1[2021-02-19T17:17:03.896Z]错误:无法启动传输“LongPolling”:错误
e、 log@blazor.server.js:1
blazor.server.js:1[2021-02-19T17:17:03.897Z]错误:无法启动连接:错误:无法使用任何可用传输连接到服务器。ServerSentEvents失败:错误:“ServerSentEvents”不支持二进制文件。长轮询失败:错误
e、 log@blazor.server.js:1
blazor.server.js:19[2021-02-19T17:17:03.897Z]错误:错误:无法使用任何可用传输连接到服务器。ServerSentEvents失败:错误:“ServerSentEvents”不支持二进制文件。长轮询失败:错误
e、 log@blazor.server.js:19
blazor.server.js:1未捕获(承诺中)错误:如果连接未处于“已连接”状态,则无法发送数据。
在e.send(blazor.server.js:1)
在e.sendMessage(blazor.server.js:1)上
在e.sendWithProtocol上(blazor.server.js:1)
在blazor.server.js:1
在新的承诺()
在e.invoke(blazor.server.js:1)
在e。(blazor.server.js:19)
在blazor.server.js:19
在Object.next(blazor.server.js:19)

在blazor.server.js:19中,blazor需要WebSocket。在windows beanstalk环境中,默认情况下它显然是禁用的

我通过使用这个来启用它们

将此配置放入
.ebextensions
文件夹,一切正常

commands:
  InstallWebsocket:
    command: powershell.exe Install-WindowsFeature -name Web-WebSockets
  EnableWebsocket:
    command: 'C:\windows\system32\inetsrv\appcmd.exe set config "Default Web Site" -section:system.webServer/webSocket /enabled:"True" /receiveBufferLimit:"4194304" /pingInterval:"00:00:10"  /commit:apphost'