作为Windows服务运行时,grpc服务器未监听端口5001

时间:2020-11-11 22:06:53

标签: service grpc

我从以下页面在Visual Studio 2019中创建了GrpcGreeter和GrpcGreeterClient项目:

[https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/grpc/grpc-start?view=aspnetcore-5.0&tabs=visual-studio] [1]

我对这些示例所做的唯一更改是,为了使GrpcGreeter应用程序作为Windows服务运行,我在IHostBuilder CreateHostBuilder中添加了“ .UseWindowsService()”。在VS中,我将它们都发布到了本地文件夹中,并为“部署模式”选择了“自包含”。

在VS环境中运行或直接运行已发布的GrpcGreeter.exe和GrpcGreeterClient.exe时,服务器和客户端都可以使用https:// localhost:5001正常工作。

然后,我使用“ Sc create”通过GrpcGreeter.exe成功创建了Windows服务。然后在“服务”窗口中启动服务。

问题是,当作为Windows服务运行时,grpcGreeter.exe不会在端口5001上进行监听,如netstat -anb所示(显然,它会监听端口5354)。当然,当我随后运行GrpcGreeterClient.exe时,它不会连接。当运行GrpcGreeter.exe而不是Windows服务时,netstat会显示它正在侦听5001,并且GrpcGreeterClient.exe与之对话就可以了。

每当我在“服务”窗口上启动服务时,对事件查看器的查看都会立即显示3个错误。我在下面缩写它们。


第一名: 错误的应用程序名称:GrpcGreeter.exe,版本:1.0.0.0,时间戳:0x5f6b3846 故障模块名称:ntdll.dll,版本:10.0.19041.546,时间戳:0xd49544eb 异常代码:0xc0000374 故障偏移量:0x000e6763 ...

第二名: 故障桶,类型0 事件名称:FaultTolerantHeap 响应:不可用 出租车编号:0

问题签名: P1:GrpcGreeter.exe ...

第三名: 故障桶2242750238749681031,类型1 事件名称:APPCRASH 响应:不可用 出租车编号:0

问题签名: P1:GrpcGreeter.exe ...


请帮助。谢谢。

0 个答案:

没有答案
相关问题