Grpc 服务器不能重载方法
Grpc Server Can not Overload method
我想在 Grpc C# 中构建一个非常简单的客户端和服务器应用程序
我第一次成功构建它但是当我想构建其他服务时出现错误 'C0115 no suitable method found for override '
这是我的代码:
ServiceHubService.cs in Services Folder
`
namespace NetPlus.Server.Core
{
public class ServerHubService : ServereHub.ServereHubBase
{
private readonly ILogger<ServerHubService> _logger;
public ServerHubService(ILogger<ServerHubService> logger)
{
_logger = logger;
}
public override Task<ActionResult> GetActionResult(ActionRequest request, ServerCallContext context)
{
return Task.FromResult(new ActionResult
{
ActionResultType = "Test"
});
}
}
}`
ProtoBuffer 文件:
syntax = "proto3";
option csharp_namespace = "NetPlus.Server.Core";
package server;
service ServereHub {
rpc ActionManager (ActionRequest) returns (ActionResult);
}
message ActionRequest {
string ActionType = 1;
}
message ActionResult {
string ActionResultType = 1;
}
怎么了?
我正在使用
visual studio 16.10.0
net 6.0 预览版
在您的原型文件中,您已定义
rpc ActionManager (ActionRequest) returns (ActionResult);
这意味着您的方法名称将是 ActionManager
但您覆盖了 GetActionResult
.
那么,能否请您尝试重命名方法名称?
我想在 Grpc C# 中构建一个非常简单的客户端和服务器应用程序 我第一次成功构建它但是当我想构建其他服务时出现错误 'C0115 no suitable method found for override '
这是我的代码:
ServiceHubService.cs in Services Folder
`
namespace NetPlus.Server.Core
{
public class ServerHubService : ServereHub.ServereHubBase
{
private readonly ILogger<ServerHubService> _logger;
public ServerHubService(ILogger<ServerHubService> logger)
{
_logger = logger;
}
public override Task<ActionResult> GetActionResult(ActionRequest request, ServerCallContext context)
{
return Task.FromResult(new ActionResult
{
ActionResultType = "Test"
});
}
}
}`
ProtoBuffer 文件:
syntax = "proto3";
option csharp_namespace = "NetPlus.Server.Core";
package server;
service ServereHub {
rpc ActionManager (ActionRequest) returns (ActionResult);
}
message ActionRequest {
string ActionType = 1;
}
message ActionResult {
string ActionResultType = 1;
}
怎么了?
我正在使用
visual studio 16.10.0 net 6.0 预览版
在您的原型文件中,您已定义
rpc ActionManager (ActionRequest) returns (ActionResult);
这意味着您的方法名称将是 ActionManager
但您覆盖了 GetActionResult
.
那么,能否请您尝试重命名方法名称?