Мне было интересно, можно ли иметь службы grp c, которые я регистрирую в моем Asp. Net Базовом запуске, например
private void RegisterServices(IEndpointRouteBuilder endpointRouteBuilder)
{
endpointRouteBuilder.MapGrpcService<Service.SessionService>();
}
, чтобы не генерироваться повторно для каждого запроса?
На данный момент я замечаю, что при каждом вызове GRP c новая служба запускается снова. Я бы ожидал, что есть возможность сохранить их в живых. Поведение по умолчанию затрудняет работу с состоянием в службе. На данный момент я вижу только две опции:
У службы grp c переадресация вызовов на фактическую службу, которую служба grp c получит через структуру DI, которая фактически связывает Служба на срок службы одного экземпляра.
Строго хранить службы без сохранения состояния и доставлять части с состоянием через DI.
Нет ли другого способа сделать сами услуги долговременны?