AS PNET CORE GRP C asyn c метод перехватчика - PullRequest
0 голосов
/ 07 мая 2020

Я пытаюсь асинхронно создать новый AsyncUnaryCall экземпляр, который обертывает исходный перехваченный.

проблема заключается в плохой конструкции базового класса перехватчика, который не позволяет использовать асинхронные c перехватчики. (как описано здесь: https://github.com/grpc/grpc-dotnet/issues/694)

чтобы понять, вот чего вы хотите достичь:

public override AsyncUnaryCall<TResponse> AsyncUnaryCall<TRequest, TResponse>(TRequest request, ClientInterceptorContext<TRequest, TResponse> context, AsyncUnaryCallContinuation<TRequest, TResponse> continuation)
{
    var result = await MyAsyncStuff(); // if we can not await, what is the alternative?

    return new AsyncUnaryCall<TResponse>(paramters);
}
...