【发布时间】:2018-04-13 11:45:53
【问题描述】:
'错误:服务器超时未收到来自 服务器。'。
我正在尝试调试一些服务器端代码,当我这样做时,客户端会在不到一分钟的时间内断开连接。
我只使用 SignalR 与客户端通信,还没有控制器。
是否有任何设置可以禁用超时或至少使其比现在更长?
我的launchSettings.json:
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:26793",
"sslPort": 44386
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development",
"ASPNETCORE_HTTPS_PORT": "44386"
}
},
"Api": {
"commandName": "Project",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development",
"ASPNETCORE_URLS": "https://localhost:5001;http://localhost:5000"
}
}
}
}
【问题讨论】:
-
哪个服务器,IIS Express + Kestrel?这是一个已知问题。尝试将启动配置文件切换为仅 kestrel。
-
@Tratcher 我编辑了帖子并添加了我的launchSettings.json。我认为它仅根据文档所说的内容启动 Kestrel:使用 dotnet run 启动应用程序时,将使用第一个带有 "commandName": "Project" 的配置文件。 commandName 的值指定要启动的 Web 服务器。 commandName 可以是以下之一: IIS Express;信息系统;项目(启动 Kestrel) 所以我猜“Api”配置文件将与 Kestrel 一起使用,对吧?
-
有道理。再次读取该错误听起来像是来自 SignalR 客户端,而不是服务器。
-
@MahmoudFarahat
this._hubConnection = new HubConnectionBuilder().withUrl('http://localhost:5000/match').build(); this._hubConnection.serverTimeoutInMilliseconds = 1000 * 1000;我尝试增加 serverTimeoutInMilliseconds 但尚未测试,因为我现在正忙于其他事情。如果您尝试并且有效,请相应地回答我的帖子。 -
是的,这对我有用,我现在可以毫无问题地调试了,非常感谢 ????
标签: asp.net-core asp.net-core-signalr