iis SignalR在Windows Server R2 2012中不起作用

ybzsozfc  于 2023-05-07  发布在  Windows
关注(0)|答案(2)|浏览(187)

我尝试了一个示例应用程序使用signalR按照下面的指南。
https://learn.microsoft.com/en-us/aspnet/core/tutorials/signalr?view=aspnetcore-3.1&tabs=visual-studio
示例应用程序在本地计算机甚至在DEV服务器上都可以正常工作。UAT服务器不工作。

UAT服务器配置

操作系统:Windows Server R2 2012 8.5应用程序:. net框架:Asp.net核心2.0

问题:

信号演示应用程序在Visual Studio中工作。当我托管到IIS时。它不起作用。我面临的问题是:
Copyright © 2018 - 2019 www.js.com. All Rights Reserved.粤ICP备17048888号-1连接已断开,出现错误“Error:服务器超时已过,但未收到来自服务器的消息。错误:您访问的页面不存在服务器超时已过,但未收到来自服务器的消息。

控制台错误截图:

enter image description here
我已经在添加功能菜单中启用了Web Socket协议。我错过了什么吗?由于某种原因,它无法连接到集线器。

fv2wmkja

fv2wmkja1#

您可以尝试增加Javascript客户端超时。

hubConnection.serverTimeoutInMilliseconds = 100000; // 100 second

如果signalR断开连接,您应该尝试重新建立连接。连接可能会由于其他几个原因而断开,包括用户切换网络。例如,如果用户正在使用Hive电话并且连接到家庭/办公室wifi,但是走出,其然后连接到Hive数据连接。
您也可以参考以下类似案例的链接:How to increase timeout setting in ASP.NET Core SignalR v2.1?

fjaof16o

fjaof16o2#

var userId = {
    Userid
};
var query = (from og in context.OPERATORSGROUPS join gr in context.GROUPSRIGHTS on og.GROUP_ID equals gr.GROUP_ID join ap in context.APPRIGHT on gr.APPRIGHT_ID equals ap.APPRIGHT_ID join a in context.APP on ap.APP_ID equals a.APP_ID join o in context.OPERATORS on og.USER_ID equals o.USER_ID where og.USER_ID == userId select new {
    USER_ID = o.USER_ID, APP_ID = a.APP_ID, APPLICATION_NAME = a.NAME, APP_RIGHT = ap.PERMISSION, DESCRIPTION = ap.DESCRIPTION
}).Union(from oar in context.OPERATORSAPPRIGHT join ar in context.APPRIGHT on oar.APPRIGHT_ID equals ar.APPRIGHT_ID join a in context.APP on ar.APP_ID equals a.APP_ID join o in context.OPERATORS on oar.USER_ID equals o.USER_ID where o.USER_ID == userId select new {
    USER_ID = o.USER_ID, APP_ID = a.APP_ID, APPLICATION_NAME = a.NAME, APP_RIGHT = ar.PERMISSION, DESCRIPTION = ar.DESCRIPTION
}).Distinct().OrderBy(x => x.APP_ID).ThenBy(x => x.APP_RIGHT);

相关问题