Бор*_*кий 6 c# visual-studio grpc asp.net-core worker-service
如果您能告诉我导致问题的原因以及如何解决它,我将不胜感激。
\nPS 抱歉发布所有代码,只是我不确定哪个确切部分与问题相关。
\n\n\nGrpc.Core.RpcException: 'Status (StatusCode = "不可用", Detail = "启动 gRPC 调用时出错。HttpRequestException: 未建立连接,因为目标计算机拒绝了连接请求。SocketException: 未建立连接。目标计算机拒绝了连接请求。", DebugException = "System.Net.Http.HttpRequestException: 由于目标计算机拒绝了连接请求,因此未建立连接。\n\xe2\x80\x94-> System.Net.Sockets.SocketException ( 10061): 连接未建立,因为目标计算机拒绝了连接请求。\nat System.Net.Http.ConnectHelper.ConnectAsync (String host, Int32 port, CancellationToken CancellationToken)\n\xe2\x80\x94- 内部异常堆栈结束跟踪\xe2\x80\x94-\nat System.Net.Http.ConnectHelper.ConnectAsync(字符串主机,Int32端口,CancellationToken取消令牌)\nat System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage请求,布尔值allowHttp2,CancellationToken取消令牌) \nat System.Net.Http.HttpConnectionPool.GetHttp2ConnectionAsync(HttpRequestMessage 请求,CancellationToken CancelationToken)\nat System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage 请求,布尔 doRequestAuth,CancellationToken CancellationToken)\nat System.Net.Http.RedirectHandler.SendAsync (HttpRequestMessage 请求,CancellationToken CancellationToken)\nat Grpc.Net.Client.Internal.GrpcCall
\n2.RunCall (HttpRequestMessage request, Nullable
1 超时) ") '
程序.cs
\nusing System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Threading.Tasks;\nusing Microsoft.Extensions.DependencyInjection;\nusing Microsoft.Extensions.Hosting;\n\nnamespace GrpcHostServer\n{\n public class Program\n {\n public static void Main(string[] args)\n {\n CreateHostBuilder(args).Build().Run();\n }\n\n public static IHostBuilder CreateHostBuilder(string[] args) =>\n Host.CreateDefaultBuilder(args)\n .ConfigureServices(services =>\n {\n services.AddHostedService<Worker>();\n });\n }\n}\n
Run Code Online (Sandbox Code Playgroud)\n工人.cs
\nusing System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing GrpcHostServer.Services;\nusing Microsoft.AspNetCore.Builder;\nusing Microsoft.AspNetCore.Hosting;\nusing Microsoft.AspNetCore.Server.Kestrel.Core;\nusing Microsoft.Extensions.DependencyInjection;\nusing Microsoft.Extensions.Hosting;\nusing Microsoft.Extensions.Logging;\n\nnamespace GrpcHostServer\n{\n public class Worker : BackgroundService\n {\n private readonly ILogger<Worker> _logger;\n\n public Worker(ILogger<Worker> logger)\n {\n _logger = logger;\n }\n\n protected override async Task ExecuteAsync(CancellationToken stoppingToken)\n {\n await Host.CreateDefaultBuilder()\n .ConfigureWebHostDefaults(builder =>\n {\n builder\n .ConfigureKestrel(options =>\n {\n options.ListenAnyIP(0, listenOptions =>\n {\n listenOptions.Protocols = HttpProtocols.Http2;\n });\n })\n .UseKestrel()\n .UseStartup<GrpcServerStartup>();\n })\n .Build()\n .StartAsync(stoppingToken);\n }\n }\n\n public class GrpcServerStartup\n {\n public void ConfigureServices(IServiceCollection services)\n {\n services.AddGrpc();\n\n services.AddSingleton<GreeterService>();\n }\n\n public void Configure(IApplicationBuilder app, IWebHostEnvironment env)\n {\n app.UseRouting();\n\n app.UseEndpoints(endpoints =>\n {\n endpoints.MapGrpcService<GreeterService>();\n });\n }\n }\n}\n
Run Code Online (Sandbox Code Playgroud)\n程序.cs
\nusing Grpc.Net.Client;\nusing GrpcHostServer;\nusing System;\nusing System.Threading.Tasks;\n\nnamespace GrpcClient\n{\n class Program\n {\n static async Task Main(string[] args)\n {\n var input = new HelloRequest { Name = "Boris" };\n var channel = GrpcChannel.ForAddress("https://localhost:5001");\n var client = new Greeter.GreeterClient(channel);\n\n var reply = await client.SayHelloAsync(input);\n\n Console.WriteLine(reply.Message);\n\n Console.ReadLine();\n }\n }\n}\n
Run Code Online (Sandbox Code Playgroud)\n
归档时间: |
|
查看次数: |
21486 次 |
最近记录: |