< Summary

Information
Class: OzonOrdersWeb.Extensions.SignalRExtensions
Assembly: OzonOrdersWeb
File(s): /home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Extensions/SignalRExtensions.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 11
Coverable lines: 11
Total lines: 21
Line coverage: 0%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
AddSignalRServices(...)100%210%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Extensions/SignalRExtensions.cs

#LineLine coverage
 1using Microsoft.AspNetCore.SignalR;
 2using Services.SignalRServices;
 3
 4namespace OzonOrdersWeb.Extensions;
 5
 6public static class SignalRExtensions
 7{
 8    public static void AddSignalRServices(this IServiceCollection services)
 9    {
 010        services.AddSignalR(options =>
 011        {
 012            // Контейнер Studio2 перезапускается при каждом деплое, поэтому браузерные вкладки
 013            // регулярно переподключаются. Явные интервалы делают обрыв предсказуемым:
 014            // клиент узнаёт о разрыве за 30 с (а не за минуту с лишним) и успевает
 015            // переподключиться штатным реконнектом, не показывая ошибку транспорта.
 016            options.KeepAliveInterval = TimeSpan.FromSeconds(10);
 017            options.ClientTimeoutInterval = TimeSpan.FromSeconds(30);
 018            options.HandshakeTimeout = TimeSpan.FromSeconds(30);
 019        });
 020    }
 21}