Open Closed

Grpc in Microservice template runtime error #8903


User avatar
0
rogercprops created
  • ABP Framework version: v9.0.2 (Commercial)

  • UI Type: N/A

  • Database System: EF Core

  • Tiered (for MVC) or Auth Server Separated (for Angular): yes

    • Template: microservice

  • Created ABP Studio Version: 0.9.23

  • Current ABP Studio Version: 0.9.23

  • Multi-Tenancy: Yes

  • UI Framework: mvc

  • Theme: leptonx

  • Theme Style: system

  • Run Install Libs: Yes

  • Database Provider: ef

  • Database Management System: sqlserver

  • Mobile Framework: none

  • Public Website: No

  • Include Tests: Yes

  • Dynamic Localization: Yes

  • Kubernetes Configuration: Yes

  • Grafana Dashboard: Yes

  • Use Local References: No

  • Optional Modules:

    • GDPR

    • TextTemplateManagement

    • AuditLogging

    • OpenIddictAdmin

  • Exception message and full stack trace:

  • Error from VS Code debug**
    Exception has occurred: CLR/System.IO.IOException
    Exception thrown: 'System.IO.IOException' in System.Private.CoreLib.dll: 'Failed to bind to address http://localhost:81.'
    Inner exceptions found, see $exception in variables window for more details.
    Innermost exception System.Net.Sockets.SocketException : Permission denied
    at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
    at System.Net.Sockets.Socket.Bind(EndPoint localEP)
    at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransportOptions.CreateDefaultBoundListenSocket(EndPoint endpoint)
    at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketConnectionListener.Bind()
    at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransportFactory.BindAsync(EndPoint endpoint, CancellationToken cancellationToken)
    at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.TransportManager.<BindAsync>d__10.MoveNext()
    at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.<>c__DisplayClass28_0`1.<g__OnBind|0>d.MoveNext()
    at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.d__3.MoveNext()
    at Microsoft.AspNetCore.Server.Kestrel.Core.LocalhostListenOptions.d__2.MoveNext()

** Full stack trace from debug console**

You may only use the Microsoft Visual Studio .NET/C/C++ Debugger (vsdbg) with
Visual Studio Code, Visual Studio or Visual Studio for Mac software to help you
develop and test your applications.

[17:02:30 INF] Starting CloverleafCMS.ServicesService
[17:02:32 INF] Loaded ABP modules:
[17:02:32 INF] - CloverleafCMS.ServicesService.CloverleafCMSServicesServiceModule
[17:02:32 INF] - Volo.Abp.BlobStoring.Database.EntityFrameworkCore.BlobStoringDatabaseEntityFrameworkCoreModule
[17:02:32 INF] - Volo.Abp.BlobStoring.Database.BlobStoringDatabaseDomainModule
[17:02:32 INF] - Volo.Abp.Domain.AbpDddDomainModule
[17:02:32 INF] - Volo.Abp.Auditing.AbpAuditingModule
[17:02:32 INF] - Volo.Abp.Data.AbpDataModule
[17:02:32 INF] - Volo.Abp.ObjectExtending.AbpObjectExtendingModule
[17:02:32 INF] - Volo.Abp.Localization.AbpLocalizationAbstractionsModule
[17:02:32 INF] - Volo.Abp.Validation.AbpValidationAbstractionsModule
[17:02:32 INF] - Volo.Abp.Uow.AbpUnitOfWorkModule
[17:02:32 INF] - Volo.Abp.EventBus.Abstractions.AbpEventBusAbstractionsModule
[17:02:32 INF] - Volo.Abp.Json.AbpJsonModule
[17:02:32 INF] - Volo.Abp.Json.SystemTextJson.AbpJsonSystemTextJsonModule
[17:02:32 INF] - Volo.Abp.Json.AbpJsonAbstractionsModule
[17:02:32 INF] - Volo.Abp.Timing.AbpTimingModule
[17:02:32 INF] - Volo.Abp.Localization.AbpLocalizationModule
[17:02:32 INF] - Volo.Abp.VirtualFileSystem.AbpVirtualFileSystemModule
[17:02:32 INF] - Volo.Abp.Settings.AbpSettingsModule
[17:02:32 INF] - Volo.Abp.Security.AbpSecurityModule
[17:02:32 INF] - Volo.Abp.Threading.AbpThreadingModule
[17:02:32 INF] - Volo.Abp.MultiTenancy.AbpMultiTenancyModule
[17:02:32 INF] - Volo.Abp.MultiTenancy.AbpMultiTenancyAbstractionsModule
[17:02:32 INF] - Volo.Abp.Auditing.AbpAuditingContractsModule
[17:02:32 INF] - Volo.Abp.EventBus.AbpEventBusModule
[17:02:32 INF] - Volo.Abp.Guids.AbpGuidsModule
[17:02:32 INF] - Volo.Abp.BackgroundWorkers.AbpBackgroundWorkersModule
[17:02:32 INF] - Volo.Abp.DistributedLocking.AbpDistributedLockingAbstractionsModule
[17:02:32 INF] - Volo.Abp.ObjectMapping.AbpObjectMappingModule
[17:02:32 INF] - Volo.Abp.ExceptionHandling.AbpExceptionHandlingModule
[17:02:32 INF] - Volo.Abp.Specifications.AbpSpecificationsModule
[17:02:32 INF] - Volo.Abp.Caching.AbpCachingModule
[17:02:32 INF] - Volo.Abp.Serialization.AbpSerializationModule
[17:02:32 INF] - Volo.Abp.Domain.AbpDddDomainSharedModule
[17:02:32 INF] - Volo.Abp.BlobStoring.AbpBlobStoringModule
[17:02:32 INF] - Volo.Abp.BlobStoring.Database.BlobStoringDatabaseDomainSharedModule
[17:02:32 INF] - Volo.Abp.Validation.AbpValidationModule
[17:02:32 INF] - Volo.Abp.EntityFrameworkCore.AbpEntityFrameworkCoreModule
[17:02:32 INF] - Volo.Abp.SettingManagement.EntityFrameworkCore.AbpSettingManagementEntityFrameworkCoreModule
[17:02:32 INF] - Volo.Abp.SettingManagement.AbpSettingManagementDomainModule
[17:02:32 INF] - Volo.Abp.SettingManagement.AbpSettingManagementDomainSharedModule
[17:02:32 INF] - Volo.Abp.Features.AbpFeaturesModule
[17:02:32 INF] - Volo.Abp.Authorization.AbpAuthorizationAbstractionsModule
[17:02:32 INF] - Volo.Abp.LanguageManagement.EntityFrameworkCore.LanguageManagementEntityFrameworkCoreModule
[17:02:32 INF] - Volo.Abp.LanguageManagement.LanguageManagementDomainModule
[17:02:32 INF] - Volo.Abp.LanguageManagement.LanguageManagementDomainSharedModule
[17:02:32 INF] - Volo.Abp.AutoMapper.AbpAutoMapperModule
[17:02:32 INF] - Volo.Abp.PermissionManagement.EntityFrameworkCore.AbpPermissionManagementEntityFrameworkCoreModule
[17:02:32 INF] - Volo.Abp.PermissionManagement.AbpPermissionManagementDomainModule
[17:02:32 INF] - Volo.Abp.Authorization.AbpAuthorizationModule
[17:02:32 INF] - Volo.Abp.PermissionManagement.AbpPermissionManagementDomainSharedModule
[17:02:32 INF] - Volo.Abp.FeatureManagement.EntityFrameworkCore.AbpFeatureManagementEntityFrameworkCoreModule
[17:02:32 INF] - Volo.Abp.FeatureManagement.AbpFeatureManagementDomainModule
[17:02:32 INF] - Volo.Abp.FeatureManagement.AbpFeatureManagementDomainSharedModule
[17:02:32 INF] - Volo.Abp.AuditLogging.EntityFrameworkCore.AbpAuditLoggingEntityFrameworkCoreModule
[17:02:32 INF] - Volo.Abp.AuditLogging.AbpAuditLoggingDomainModule
[17:02:32 INF] - Volo.Abp.AuditLogging.AbpAuditLoggingDomainSharedModule
[17:02:32 INF] - Volo.Saas.EntityFrameworkCore.SaasEntityFrameworkCoreModule
[17:02:32 INF] - Volo.Saas.SaasDomainModule
[17:02:32 INF] - Volo.Saas.SaasDomainSharedModule
[17:02:32 INF] - Volo.Payment.AbpPaymentDomainSharedModule
[17:02:32 INF] - Volo.Abp.EntityFrameworkCore.SqlServer.AbpEntityFrameworkCoreSqlServerModule
[17:02:32 INF] - CloverleafCMS.ServicesService.CloverleafCMSServicesServiceContractsModule
[17:02:32 INF] - Volo.Abp.UI.AbpUiModule
[17:02:32 INF] - Volo.Abp.Commercial.SuiteTemplates.VoloAbpCommercialSuiteTemplatesModule
[17:02:32 INF] - Volo.Abp.Application.AbpDddApplicationContractsModule
[17:02:32 INF] - Volo.Abp.Autofac.AbpAutofacModule
[17:02:32 INF] - Volo.Abp.Castle.AbpCastleCoreModule
[17:02:32 INF] - Volo.Abp.AspNetCore.Serilog.AbpAspNetCoreSerilogModule
[17:02:32 INF] - Volo.Abp.AspNetCore.AbpAspNetCoreModule
[17:02:32 INF] - Volo.Abp.Http.AbpHttpModule
[17:02:32 INF] - Volo.Abp.Http.AbpHttpAbstractionsModule
[17:02:32 INF] - Volo.Abp.Minify.AbpMinifyModule
[17:02:32 INF] - Volo.Abp.AspNetCore.AbpAspNetCoreAbstractionsModule
[17:02:32 INF] - Volo.Abp.Swashbuckle.AbpSwashbuckleModule
[17:02:32 INF] - Volo.Abp.AspNetCore.Mvc.AbpAspNetCoreMvcModule
[17:02:32 INF] - Volo.Abp.ApiVersioning.AbpApiVersioningAbstractionsModule
[17:02:32 INF] - Volo.Abp.AspNetCore.Mvc.AbpAspNetCoreMvcContractsModule
[17:02:32 INF] - Volo.Abp.UI.Navigation.AbpUiNavigationModule
[17:02:32 INF] - Volo.Abp.GlobalFeatures.AbpGlobalFeaturesModule
[17:02:32 INF] - Volo.Abp.Application.AbpDddApplicationModule
[17:02:32 INF] - Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy.AbpAspNetCoreMvcUiMultiTenancyModule
[17:02:32 INF] - Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.AbpAspNetCoreMvcUiThemeSharedModule
[17:02:32 INF] - Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.AbpAspNetCoreMvcUiBootstrapModule
[17:02:32 INF] - Volo.Abp.AspNetCore.Mvc.UI.AbpAspNetCoreMvcUiModule
[17:02:32 INF] - Volo.Abp.AspNetCore.Mvc.UI.Packages.AbpAspNetCoreMvcUiPackagesModule
[17:02:32 INF] - Volo.Abp.AspNetCore.Mvc.UI.Bundling.AbpAspNetCoreMvcUiBundlingAbstractionsModule
[17:02:32 INF] - Volo.Abp.AspNetCore.Mvc.UI.Widgets.AbpAspNetCoreMvcUiWidgetsModule
[17:02:32 INF] - Volo.Abp.AspNetCore.Mvc.UI.Bundling.AbpAspNetCoreMvcUiBundlingModule
[17:02:32 INF] - Volo.Abp.AspNetCore.MultiTenancy.AbpAspNetCoreMultiTenancyModule
[17:02:32 INF] - Volo.Abp.EventBus.RabbitMq.AbpEventBusRabbitMqModule
[17:02:32 INF] - Volo.Abp.RabbitMQ.AbpRabbitMqModule
[17:02:32 INF] - Volo.Abp.BackgroundJobs.RabbitMQ.AbpBackgroundJobsRabbitMqModule
[17:02:32 INF] - Volo.Abp.BackgroundJobs.AbpBackgroundJobsAbstractionsModule
[17:02:32 INF] - Volo.Abp.Caching.StackExchangeRedis.AbpCachingStackExchangeRedisModule
[17:02:32 INF] - Volo.Abp.DistributedLocking.AbpDistributedLockingModule
[17:02:32 INF] - Volo.Abp.Studio.Client.AspNetCore.AbpStudioClientAspNetCoreModule
[17:02:32 INF] - Volo.Abp.Studio.AbpStudioClientModule
[17:02:32 INF] - Volo.Abp.Studio.AbpStudioClientContractsModule
[17:02:32 INF] - Volo.Abp.Http.Client.AbpHttpClientModule
[17:02:32 INF] - Volo.Abp.RemoteServices.AbpRemoteServicesModule
[17:02:32 INF] Trying to acquire the distributed lock for database migration: ServicesService.
[17:02:32 INF] Distributed lock is acquired for database migration: ServicesService...
[17:02:33 INF] Seeding data...
[17:02:33 INF] Distributed lock has been released for database migration: ServicesService...
[17:02:34 DBG] Waiting to acquire the distributed lock for saving external localizations...
[17:02:34 INF] Saving external localizations...
[17:02:34 INF] Initialized all ABP modules.
[17:02:35 WRN] Overriding address(es) 'http://localhost:44344'. Binding to endpoints defined via IConfiguration and/or UseKestrel() instead.
[17:02:35 INF] Unable to bind to http://localhost:81 on the IPv4 loopback interface: 'Permission denied'.
[17:02:35 INF] Unable to bind to http://localhost:81 on the IPv6 loopback interface: 'Permission denied'.
[17:02:35 ERR] Hosting failed to start
System.IO.IOException: Failed to bind to address http://localhost:81.
---> System.AggregateException: One or more errors occurred. (Permission denied) (Permission denied)
---> System.Net.Sockets.SocketException (13): Permission denied
at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.Sockets.Socket.Bind(EndPoint localEP)
at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransportOptions.CreateDefaultBoundListenSocket(EndPoint endpoint)
at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketConnectionListener.Bind()
at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransportFactory.BindAsync(EndPoint endpoint, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.TransportManager.BindAsync(EndPoint endPoint, ConnectionDelegate connectionDelegate, EndpointConfig endpointConfig, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.<>c__DisplayClass28_01.&lt;&lt;StartAsync&gt;g__OnBind|0>d.MoveNext() --- End of stack trace from previous location --- at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.BindEndpointAsync(ListenOptions endpoint, AddressBindContext context, CancellationToken cancellationToken) at Microsoft.AspNetCore.Server.Kestrel.Core.LocalhostListenOptions.BindAsync(AddressBindContext context, CancellationToken cancellationToken) --- End of inner exception stack trace --- ---> (Inner Exception [#1](https://abp.io/QA/Questions/1)) System.Net.Sockets.SocketException (13): Permission denied at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress) at System.Net.Sockets.Socket.Bind(EndPoint localEP) at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransportOptions.CreateDefaultBoundListenSocket(EndPoint endpoint) at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketConnectionListener.Bind() at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransportFactory.BindAsync(EndPoint endpoint, CancellationToken cancellationToken) at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.TransportManager.BindAsync(EndPoint endPoint, ConnectionDelegate connectionDelegate, EndpointConfig endpointConfig, CancellationToken cancellationToken) at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.&lt;&gt;c__DisplayClass28_01.<g__OnBind|0>d.MoveNext()
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.BindEndpointAsync(ListenOptions endpoint, AddressBindContext context, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Server.Kestrel.Core.LocalhostListenOptions.BindAsync(AddressBindContext context, CancellationToken cancellationToken)<---

--- End of inner exception stack trace ---

  • Steps to reproduce the issue:

    • Created a new solution in ABP Studio using the Microservice template

    • Created a micro-service with standard endpoints and created an entity for the service using Abp Suite (no issues)

    • Updated the micro-service to add a Grpc endpoint according to this documentation: Using Grpc

    • Also looked at this article referenced in the documentation Using gRPC with the ABP Framework | ABP Community but it is a different approach so we didn't follow it.

From appsettings.development.json
{
"App": {
"EnablePII": true
},
"Kestrel": {
"Endpoints": {
"Http": {
"Url": "http://localhost:5000",
"Protocols": "Http1AndHttp2"
},
"Https": {
"Url": "https://localhost:44344",
"Protocols": "Http1AndHttp2"
},
"gRPC": {
"Url": "http://localhost:81",
"Protocols": "Http2"
}
}
}

}

Let me know if you need additional info to help debug this issue.


1 Answer(s)
  • User Avatar
    0
    EngincanV created
    Support Team .NET Developer

    Hi, from the error log, it seems it's not related to ABP. Can you please check this SO answer and try it to see if it works for you?

    Best regards.

Boost Your Development
ABP Live Training
Packages
See Trainings
Mastering ABP Framework Book
Do you need assistance from an ABP expert?
Schedule a Meeting
Mastering ABP Framework Book
The Official Guide
Mastering
ABP Framework
Learn More
Mastering ABP Framework Book
Made with ❤️ on ABP v9.2.0-preview. Updated on March 13, 2025, 04:08