Настройка поддержки активности потоковой передачи на стороне сервера GrpcC#

Место общения программистов C#
Ответить
Anonymous
 Настройка поддержки активности потоковой передачи на стороне сервера Grpc

Сообщение Anonymous »

У нас есть сервер Grpc, реализованный в среде C# .net 5.0

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

public void ConfigureServices(IServiceCollection services)
{
...
services.AddGrpc(o =>
{
o.EnableDetailedErrors = true;
// Small performance benefit to not add catch-all routes to handle UNIMPLEMENTED for unknown services
o.IgnoreUnknownServices = true;

o.Interceptors.Add();
});
...
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IServiceProvider container, IHostApplicationLifetime lifetime)
{
...
app.UseEndpoints(endpoints =>
{
endpoints.MapGrpcService();

endpoints.MapGet("/", async context =>
{
await context.Response.WriteAsync("Communication with gRPC endpoints must be made through a gRPC client. To learn how to create a client, visit: https://go.microsoft.com/fwlink/?linkid=2086909");
});
});
...
}
Мы используем потоковое соединение на стороне сервера для отправки уведомлений клиента

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

public override async Task Start(ConnectorRequest request, IServerStreamWriter clientStream,
ServerCallContext serverCallContext)
{
WaitHandle.WaitAny(new[] { context.CancellationToken.WaitHandle });
}
Клиентская часть реализована на мобильных платформах.
После тестов мы видим, что когда клиент теряет соединение (например, выключает Wi-Fi), у нас нет никаких исключений или уведомлений об этом.
Как настроить сервер для разрыва потокового соединения, когда клиент теряет соединение. Это может быть что-то вроде настроек Keep_alive.
Я нашел https://github.com/grpc/grpc/blob/maste ... epalive.md, но не знаю, где его установить.

Подробнее здесь: https://stackoverflow.com/questions/675 ... onfiguring
Ответить

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

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

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

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

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