/// <summary>Register service method with a service binder with or without implementation. Useful when customizing the service binding logic. /// Note: this method is part of an experimental API that can change or be removed without any prior notice.</summary> /// <param name="serviceBinder">Service methods will be bound by calling <c>AddMethod</c> on this object.</param> /// <param name="serviceImpl">An object implementing the server-side handling logic.</param> public static void BindService(grpc::ServiceBinderBase serviceBinder, IGenericSendHandler <TCommand, TResponse> serviceImpl) { serviceBinder.AddMethod(__Method_Send, serviceImpl == null ? null : new grpc::UnaryServerMethod <TCommand, TResponse>(serviceImpl.Send)); }
///// <summary>Base class for server-side implementations of Service1</summary> //[grpc::BindServiceMethod(typeof(ServicePmi), "BindService")] //public abstract partial class ServicePmiBase //{ // public virtual global::System.Threading.Tasks.Task<TResponse> Send(TCommand request, grpc::ServerCallContext context) // { // throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); // } //} /// <summary>Creates service definition that can be registered with a server</summary> /// <param name="serviceImpl">An object implementing the server-side handling logic.</param> public static grpc::ServerServiceDefinition BindService(IGenericSendHandler <TCommand, TResponse> serviceImpl) { return(grpc::ServerServiceDefinition.CreateBuilder() .AddMethod(__Method_Send, serviceImpl.Send).Build()); }