diff --git a/src/csharp/Grpc.Core/Call.cs b/src/csharp/Grpc.Core/Call.cs index 771cc083dae6d6b2fa1c5e1d6d3ad6c47a22076e..d1ee59ff0a0fe73bac64dd715a40c2dac185b86c 100644 --- a/src/csharp/Grpc.Core/Call.cs +++ b/src/csharp/Grpc.Core/Call.cs @@ -52,7 +52,7 @@ namespace Grpc.Core public Call(string serviceName, Method<TRequest, TResponse> method, Channel channel, Metadata headers) { - this.name = Preconditions.CheckNotNull(serviceName) + "/" + method.Name; + this.name = method.GetFullName(serviceName); this.requestMarshaller = method.RequestMarshaller; this.responseMarshaller = method.ResponseMarshaller; this.channel = Preconditions.CheckNotNull(channel); diff --git a/src/csharp/Grpc.Core/Method.cs b/src/csharp/Grpc.Core/Method.cs index 156e780c7dd1d995cf1a9c6aa3388b56336b61f3..77d36191c3ee5e169ecf098a843ef0ee57ccd887 100644 --- a/src/csharp/Grpc.Core/Method.cs +++ b/src/csharp/Grpc.Core/Method.cs @@ -32,6 +32,7 @@ #endregion using System; +using Grpc.Core.Utils; namespace Grpc.Core { @@ -95,5 +96,13 @@ namespace Grpc.Core return this.responseMarshaller; } } + + /// <summary> + /// Gets full name of the method including the service name. + /// </summary> + internal string GetFullName(string serviceName) + { + return "/" + Preconditions.CheckNotNull(serviceName) + "/" + this.Name; + } } } diff --git a/src/csharp/Grpc.Core/ServerServiceDefinition.cs b/src/csharp/Grpc.Core/ServerServiceDefinition.cs index 81846beb2f7c2bc62f2a605535a42b5e0f499890..b180186c1281707f810da79e48966e8a8367cc69 100644 --- a/src/csharp/Grpc.Core/ServerServiceDefinition.cs +++ b/src/csharp/Grpc.Core/ServerServiceDefinition.cs @@ -79,7 +79,7 @@ namespace Grpc.Core where TRequest : class where TResponse : class { - callHandlers.Add(GetFullMethodName(serviceName, method.Name), ServerCalls.UnaryCall(method, handler)); + callHandlers.Add(method.GetFullName(serviceName), ServerCalls.UnaryCall(method, handler)); return this; } @@ -89,7 +89,7 @@ namespace Grpc.Core where TRequest : class where TResponse : class { - callHandlers.Add(GetFullMethodName(serviceName, method.Name), ServerCalls.ClientStreamingCall(method, handler)); + callHandlers.Add(method.GetFullName(serviceName), ServerCalls.ClientStreamingCall(method, handler)); return this; } @@ -99,7 +99,7 @@ namespace Grpc.Core where TRequest : class where TResponse : class { - callHandlers.Add(GetFullMethodName(serviceName, method.Name), ServerCalls.ServerStreamingCall(method, handler)); + callHandlers.Add(method.GetFullName(serviceName), ServerCalls.ServerStreamingCall(method, handler)); return this; } @@ -109,7 +109,7 @@ namespace Grpc.Core where TRequest : class where TResponse : class { - callHandlers.Add(GetFullMethodName(serviceName, method.Name), ServerCalls.DuplexStreamingCall(method, handler)); + callHandlers.Add(method.GetFullName(serviceName), ServerCalls.DuplexStreamingCall(method, handler)); return this; } @@ -117,11 +117,6 @@ namespace Grpc.Core { return new ServerServiceDefinition(callHandlers.ToImmutableDictionary()); } - - private string GetFullMethodName(string serviceName, string methodName) - { - return serviceName + "/" + methodName; - } } } }