Мы используем SignalR в приложении. Был тип исключения:
Сервер-концентратор не может быть запущен. Сообщение: произошла одна или несколько ошибок. Трассировка стека: в System.Threading.Tasks.Task.ThrowIfExceptional (логическое includeTaskCanceledExceptions) в System.Threading.Tasks.Task.Wait (Int32 millisecondsTimeout, CancellationToken cancellationToken) в System.Threading.Tasks.Taskry.Taskry (Источник объекта, ElapsedEventArgs e)
Пока не было ошибок, когда мы тестировали локально в моей системе. Когда мы развернули его с помощью ARR. затем было исключение, которое произошло только из-за ARR. Хотя мы также удалили ARR, а затем попробовали, это сработало. Но это не работает с ARR.
Код правильный, но есть проблема с конфигурацией SignalR с ARR.
public void InitializeHub()
{
appLog.Write("Initializing Hub Server");
IHubProxy _hub;
var querystringData = new Dictionary<string, string>();
querystringData.Add("Key", "key1");
hypervisorConnection = new HubConnection("url", querystringData);
_hub = hConnection.CreateHubProxy("Hub");
_hub.On<HypervisorCommand>("ExecuteHypervisorCommand", x => ExecuteHypervisorCommand(x));
#region Initialize Hub Timer
hHubTimer = new System.Timers.Timer();
hHubTimer.Elapsed += new ElapsedEventHandler(TryStartHub);
hHubTimer.AutoReset = false;
hHubTimer.Interval = 1000;
hHubTimer.Enabled = true;
hHubTimer.Start();
#endregion
}
private void TryStartHub(object source, ElapsedEventArgs e)
{
try
{
if (hConnection.State != ConnectionState.Connected)
{
hConnection.Start().Wait();
appLog.Write("Hypervisor Hub server started.");
}
}
catch (Exception ex)
{
appLog.Write("Hub Server was unable to start. Message:" + ex.Message + "\n Stack trace:" + ex.StackTrace);
}
hHubTimer.Interval = 30000;
hHubTimer.Start();
}