/// <summary> /// 拦截异步双向流调用 /// </summary> /// <param name="context"></param> /// <param name="continuation"></param> /// <typeparam name="TRequest"></typeparam> /// <typeparam name="TResponse"></typeparam> /// <returns></returns> public override AsyncDuplexStreamingCall <TRequest, TResponse> AsyncDuplexStreamingCall <TRequest, TResponse>( ClientInterceptorContext <TRequest, TResponse> context, AsyncDuplexStreamingCallContinuation <TRequest, TResponse> continuation) { var clientId = context.Options.Headers?.GetClientId() ?? ""; CheckRepeat(clientId, ServiceProvider.GetJsonProvider().Serializer(context), context.GetGenericTypeName()); return(continuation(context)); }