Используйте ОБА SignalR и необработанные веб-сокеты в проекте веб-API ASP.NET Core 8.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Используйте ОБА SignalR и необработанные веб-сокеты в проекте веб-API ASP.NET Core 8.

Сообщение Anonymous »

Я наблюдаю странное поведение при попытке использовать SignalR и обычные веб-сокеты на одном и том же веб-сервере Kestrel, на котором размещен проект веб-API ASP.NET Core 8.
Проект имеет интерфейс REST использует SignalR, а старые добрые веб-сокеты были добавлены для поддержки клиента, для которого нет клиентской библиотеки SignalR.
Независимо от того, оба они работают нормально. Как только я пытаюсь использовать их оба, вся связь через них обоих прекращается до тех пор, пока один из них не отключится.
SignalR добавляется в службы компоновщика в Program.cs вот так:

Код: Выделить всё

builder.Services.AddSignalR(options => {
options.EnableDetailedErrors = true;
});
< /code>
и веб -питания настраиваются так: < /p>
app.UseWebSockets();
app.Map("/ws", WebSocketHandler.HandleWebSocketConnection);
Вот метод WebSocketHandler.HandleWebSocketConnection:
public static async Task HandleWebSocketConnection(HttpContext context)
{
if (!context.WebSockets.IsWebSocketRequest)
{
context.Response.StatusCode = 400; // Bad Request
await context.Response.WriteAsync("WebSocket request expected.");
return;
}

var clientId = Guid.NewGuid().ToString();
WebSocket webSocket = await context.WebSockets.AcceptWebSocketAsync();
Console.WriteLine($"Client connected: {clientId}");

try
{
await HandleClientMessagesAsync(webSocket);
}
finally
{
Console.WriteLine($"Client disconnected: {clientId}");
}
}
< /code>
Я бы не подумал, что это проблема, потому что под обложками на одном порте работает только один сервер веб -сокетов. Как оба эти могут быть включены на одном и том же веб -сервере без конфликта?

Подробнее здесь: https://stackoverflow.com/questions/793 ... pi-project
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Используйте ОБА SignalR и необработанные веб-сокеты в проекте .NET 8 WebAPI.
    Anonymous » » в форуме C#
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Используйте как SignalR, так и необработанные веб -розетки в проекте ASP.NET Core 8 Web API
    Anonymous » » в форуме C#
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Как заставить клиент .Net Framework SignalR подключаться к серверу .Net Core SignalR?
    Anonymous » » в форуме C#
    0 Ответы
    38 Просмотры
    Последнее сообщение Anonymous
  • Как заставить клиент .Net Framework SignalR подключаться к серверу .Net Core SignalR?
    Anonymous » » в форуме C#
    0 Ответы
    27 Просмотры
    Последнее сообщение Anonymous
  • Как заставить клиент .Net Framework SignalR подключаться к серверу .Net Core SignalR?
    Anonymous » » в форуме C#
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»