Activities of "rogercprops"

I'm not sure what you mean by checking the user claims. In the admin console I went to Claims for the user in the host & the user in the tenant and there were none.

Again, I don't get the authorization error when I get a token for a user in the host tenant and of course it only returns users where TenantId is null.

Here's the host token decoded: { "header": { "alg": "RS256", "kid": "", "x5t": "", "typ": "at+jwt" }, "payload": { "iss": "http://localhost:44311/", "exp": 1745505879, "iat": 1745502279, "aud": [ "AuthServer", "IdentityService", "AdministrationService", "ServicesService", "SaasService", "AuditLoggingService", "GdprService", "LanguageService", "ClientService", "CommunicationsTemplateService", "ClientServicesQuery", "ContactService", "StaffService", "MemberConfigService", "FinancialService", "HousingService", "EngagementLogService", "DocumentService", "NoteService" ], "scope": "roles phone email profile address AdministrationService AuditLoggingService AuthServer ClientService GdprService IdentityService LanguageService SaasService ServicesService CommunicationsTemplateService MemberConfigService ClientServicesQuery FinancialService ContactService StaffService HousingService EngagementLogService DocumentService NoteService", "jti": "c679b9ed-83dd-4f49-867a-4606cd822dd4", "sub": "3503fbd8-b3bb-e0de-d82f-3a18407a620a", "preferred_username": "cpradmin", "email": "", "role": "admin", "given_name": "", "family_name": "", "phone_number_verified": "False", "email_verified": "False", "session_id": "", "unique_name": "cpradmin", "oi_prst": "CloverleafApi", "client_id": "CloverleafApi", "oi_tkn_id": "******" } }

Same error.

Here's the decoded token with the updated scopes

{ "header": { "alg": "RS256", "kid": "******", "x5t": "******", "typ": "at+jwt" }, "payload": { "iss": "http://localhost:44311/", "exp": 1745502008, "iat": 1745498408, "aud": [ "AuthServer", "IdentityService", "AdministrationService", "ServicesService", "SaasService", "AuditLoggingService", "GdprService", "LanguageService", "ClientService", "CommunicationsTemplateService", "ClientServicesQuery", "ContactService", "StaffService", "MemberConfigService", "FinancialService", "HousingService", "EngagementLogService", "DocumentService", "NoteService" ], "scope": "roles phone email profile address AdministrationService AuditLoggingService AuthServer ClientService GdprService IdentityService LanguageService SaasService ServicesService CommunicationsTemplateService MemberConfigService ClientServicesQuery FinancialService ContactService StaffService HousingService EngagementLogService DocumentService NoteService", "jti": "******", "sub": "******", "preferred_username": "testuser", "email": "******", "role": "admin", "tenantid": "6271b9cb-31a4-07e1-e895-3a18325419b0", "given_name": "******", "family_name":"******", "phone_number_verified": "False", "email_verified": "False", "session_id": "******", "unique_name": "******", "oi_prst": "CloverleafApi", "client_id": "CloverleafApi", "oi_tkn_id": "******" } }

We developed an API that gets the token from the authserver using Duende.IdentityModel 7.0.0 ` public async Task

    var apiEndpoint = _configuration.GetValue<string>("AuthServiceBaseUrl");
    var scope = string.Join(" ", scopes);
    var discoveryCache = new DiscoveryCache(apiEndpoint);
    var disco = await discoveryCache.GetAsync();

    if (disco.IsError)
    {
        Console.WriteLine(disco.Error);
        throw new UserFriendlyException($"Error retrieving discovery document: {disco.Error}");
    }

    var client = new HttpClient();

    var passwordTokenRequest = new PasswordTokenRequest
    {
        Address = disco.TokenEndpoint,
        ClientId = clientId,
        ClientSecret = clientSecret,
        UserName = userName,
        Password = password,
        Scope = scope
    };

    if (Tenant != null) passwordTokenRequest.Headers.Add("tenant", Tenant);
    var tokenResponse = await client.RequestPasswordTokenAsync(passwordTokenRequest);

    TokenResponseDto tokenRequestResponse = new();

    if (tokenResponse.IsError)
    {
        Console.WriteLine("error", tokenResponse);
        throw new UserFriendlyException($"Error retrieving token: {tokenResponse.ErrorDescription}");
    }
    else
    {
        tokenRequestResponse.AccessToken = tokenResponse.AccessToken;
        tokenRequestResponse.RefreshToken = tokenResponse.RefreshToken;
        tokenRequestResponse.ExpiresIn = tokenResponse.ExpiresIn;
    }

    return tokenRequestResponse;
}

`

Here's the curl request to get the token: ` curl --location 'http://localhost:44326/api/token'
--header 'X-Forwarded-For: 192.0.2.172'
--header 'Content-Type: application/json'
--header 'Cookie: .AspNetCore.Culture=c%3Den%7Cuic%3Den'
--data-raw '{ "tenant": "homefree",

"clientId": "CloverleafApi",
"clientSecret": "Fgf@E98M6XZs3w",
"userName": "testadmin",
"password": "Lucky7E!",
"scopes": ["AdministrationService","AuditLoggingService","AuthServer","ClientService","GdprService","IdentityService", "LanguageService","SaasService","ServicesService", "CommunicationsTemplateService","MemberConfigService","ClientServicesQuery","FinancialService","ContactService","StaffService", "HousingService","EngagementLogService", "DocumentService", "NoteService"]

}'`

Here's the curl request to get the users (the authorization bearer is from the token response: curl --location 'http://localhost:44326/api/identity/users' \ --header 'Authorization: Bearer **** \ --header 'Cookie: .AspNetCore.Culture=c%3Den%7Cuic%3Den'

  • Exception message and full stack trace: 4/21/2025 8:31:05 PM [Information] Request starting "HTTP/1.1" "GET" "http"://"localhost:44378""""/api/identity/users""" - null null 4/21/2025 8:31:05 PM [Debug] Get dynamic claims cache for tenant: 6271b9cb-31a4-07e1-e895-3a18325419b0 4/21/2025 8:31:05 PM [Debug] Get dynamic claims cache for user: b7a3c0e6-0b62-1904-314a-3a196bd42430 4/21/2025 8:31:05 PM [Debug] SessionId(4803aa26-2539-4cc7-a833-b5c08567966e) found in cache, Updating hit count(2), last access time(4/21/2025 3:31:05 PM) and IP address(::1). 4/21/2025 8:31:05 PM [Information] Executing endpoint '"Volo.Abp.Identity.IdentityUserController.GetListAsync (Volo.Abp.Identity.Pro.HttpApi)"' 4/21/2025 8:31:05 PM [Information] Route matched with "{area = "identity", controller = "User", action = "GetList"}". Executing controller action with signature "System.Threading.Tasks.Task1[Volo.Abp.Application.Dtos.PagedResultDto1[Volo.Abp.Identity.IdentityUserDto]] GetListAsync(Volo.Abp.Identity.GetIdentityUsersInput)" on controller "Volo.Abp.Identity.IdentityUserController" ("Volo.Abp.Identity.Pro.HttpApi"). 4/21/2025 8:31:05 PM [Debug] PermissionStore.GetCacheItemAsync: pn:U,pk:b7a3c0e6-0b62-1904-314a-3a196bd42430,n:AbpIdentity.Users 4/21/2025 8:31:05 PM [Debug] Found in the cache: pn:U,pk:b7a3c0e6-0b62-1904-314a-3a196bd42430,n:AbpIdentity.Users 4/21/2025 8:31:05 PM [Debug] PermissionStore.GetCacheItemAsync: pn:R,pk:identitytest,n:AbpIdentity.Users 4/21/2025 8:31:05 PM [Debug] Found in the cache: pn:R,pk:identitytest,n:AbpIdentity.Users 4/21/2025 8:31:05 PM [Debug] PermissionStore.GetCacheItemAsync: pn:C,pk:CloverleafApi,n:AbpIdentity.Users 4/21/2025 8:31:05 PM [Debug] Found in the cache: pn:C,pk:CloverleafApi,n:AbpIdentity.Users 4/21/2025 8:31:05 PM [Information] Authorization failed. "These requirements were not met: PermissionRequirement: AbpIdentity.Users" 4/21/2025 8:31:05 PM [Warning] ---------- RemoteServiceErrorInfo ---------- { "code": "Volo.Authorization:010001", "message": "Authorization failed! Given policy has not granted.", "details": null, "data": null, "validationErrors": null } 4/21/2025 8:31:05 PM [Warning] Volo.Abp.Authorization.AbpAuthorizationException: Exception of type 'Volo.Abp.Authorization.AbpAuthorizationException' was thrown. at Microsoft.AspNetCore.Authorization.AbpAuthorizationServiceExtensions.CheckAsync(IAuthorizationService authorizationService, AuthorizationPolicy policy) at Volo.Abp.Authorization.MethodInvocationAuthorizationService.CheckAsync(MethodInvocationAuthorizationContext context) at Volo.Abp.Authorization.AuthorizationInterceptor.AuthorizeAsync(IAbpMethodInvocation invocation) at Volo.Abp.Authorization.AuthorizationInterceptor.InterceptAsync(IAbpMethodInvocation invocation) at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed) at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo) at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.ProceedAsync() at Volo.Abp.Validation.ValidationInterceptor.InterceptAsync(IAbpMethodInvocation invocation) at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed) at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo) at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.ProceedAsync() at Volo.Abp.Auditing.AuditingInterceptor.ProceedByLoggingAsync(IAbpMethodInvocation invocation, AbpAuditingOptions options, IAuditingHelper auditingHelper, IAuditLogScope auditLogScope) at Volo.Abp.Auditing.AuditingInterceptor.InterceptAsync(IAbpMethodInvocation invocation) at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed) at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo) at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.ProceedAsync() at Volo.Abp.Uow.UnitOfWorkInterceptor.InterceptAsync(IAbpMethodInvocation invocation) at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed) at lambda_method5120(Closure, Object) at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask1 actionResultValueTask) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextExceptionFilterAsync>g__Awaited|26_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) 4/21/2025 8:31:05 PM [Warning] Code:Volo.Authorization:010001 4/21/2025 8:31:05 PM [Information] AuthenticationScheme: "Bearer" was forbidden.

  • Steps to reproduce the issue:

    • Create a microservice solution using Abp Studio

    • Create a user with admin role assigned in SaaS tenant

    • Get a token for the user in a SaaS tenant This the decoded JwT { "header": { "alg": "RS256", "kid": "", "x5t": "", "typ": "at+jwt" }, "payload": { "iss": "http://localhost:44311/", "aud": [ "AuthServer", "IdentityService", "ServicesService", "SaasService", "AuditLoggingService", "GdprService", "LanguageService" ], "scope": "AdministrationService AuditLoggingService AuthServer ClientService GdprService IdentityService LanguageService SaasService", "jti": "", "sub": "", "preferred_username": "testuser", "email": "", "role": "admin", "tenantid": "6271b9cb-31a4-07e1-e895-3a18325419b0", "given_name": "", "family_name": "", "phone_number_verified": "False", "email_verified": "False", "session_id": "", "unique_name": "", "oi_prst": "", "client_id": "", "oi_tkn_id": "" } }

    • Use Postman to call any identity service api with the token. For example GET api/idenity/users

    • Call returns a 403 Forbidden error

    • Create a user with admin role assigned in host tenant

    • Get a token for a user in the host

This is the decoded JwT (note: no tenantid) { "header": { "alg": "RS256", "kid": "", "x5t": "", "typ": "at+jwt" }, "payload": { "iss": "http://localhost:44311/", "aud": [ "AuthServer", "IdentityService", "ServicesService", "SaasService", "AuditLoggingService", "GdprService", "LanguageService" ], "scope": "AdministrationService AuditLoggingService AuthServer ClientService GdprService IdentityService LanguageService SaasService", "jti": "", "sub": "", "preferred_username": "testadmin", "email": "", "role": "admin", "given_name": "", "family_name": "", "phone_number_verified": "False", "email_verified": "False", "session_id": "", "unique_name": "", "oi_prst": "", "client_id": "", "oi_tkn_id": "" } }

* Call the same identity api (GET api/idenity/users)
* Response returns the users in the host tenant

Here is the output from the Sql query on the Identity database SELECT * from [CloverleafCMSv2_Administration].[dbo].[AbpPermissionGrants] -- where (tenantId = 'dcb36c08-67ab-fa76-77dd-3a167cb44820' or tenantId = 'a3e9728b-d264-c114-b53c-3a13ab178ad2') where tenantId = '6271b9cb-31a4-07e1-e895-3a18325419b0' -- and ProviderName='R' and ProviderKey = 'admin' and Name like '%users%' order by tenantid, ProviderKey, Name

[ { "Id": "77a456bf-0e82-9808-104a-3a1832542987", "TenantId": "6271b9cb-31a4-07e1-e895-3a18325419b0", "Name": "AbpIdentity.Users", "ProviderName": "R", "ProviderKey": "admin" }, { "Id": "0cfb4925-ce70-cabd-fa68-3a1832542989", "TenantId": "6271b9cb-31a4-07e1-e895-3a18325419b0", "Name": "AbpIdentity.Users.Create", "ProviderName": "R", "ProviderKey": "admin" }, { "Id": "f35e6343-104d-f03e-9d37-3a183254298d", "TenantId": "6271b9cb-31a4-07e1-e895-3a18325419b0", "Name": "AbpIdentity.Users.Delete", "ProviderName": "R", "ProviderKey": "admin" }, { "Id": "fdaf8b58-fcef-6eab-25c5-3a1832542993", "TenantId": "6271b9cb-31a4-07e1-e895-3a18325419b0", "Name": "AbpIdentity.Users.Export", "ProviderName": "R", "ProviderKey": "admin" }, { "Id": "e183ace3-8b4c-2cec-3446-3a1832542991", "TenantId": "6271b9cb-31a4-07e1-e895-3a18325419b0", "Name": "AbpIdentity.Users.Impersonation", "ProviderName": "R", "ProviderKey": "admin" }, { "Id": "38450b83-4e1e-1772-d0ce-3a1832542992", "TenantId": "6271b9cb-31a4-07e1-e895-3a18325419b0", "Name": "AbpIdentity.Users.Import", "ProviderName": "R", "ProviderKey": "admin" }, { "Id": "39fe41c3-daf4-cf05-a2a8-3a183254298f", "TenantId": "6271b9cb-31a4-07e1-e895-3a18325419b0", "Name": "AbpIdentity.Users.ManagePermissions", "ProviderName": "R", "ProviderKey": "admin" }, { "Id": "032aaafe-0dce-42c9-4a04-3a183254298a", "TenantId": "6271b9cb-31a4-07e1-e895-3a18325419b0", "Name": "AbpIdentity.Users.Update", "ProviderName": "R", "ProviderKey": "admin" }, { "Id": "c1894400-a3b2-826e-0937-3a183254298c", "TenantId": "6271b9cb-31a4-07e1-e895-3a18325419b0", "Name": "AbpIdentity.Users.Update.ManageOU", "ProviderName": "R", "ProviderKey": "admin" }, { "Id": "5e5f7716-49ee-a8e9-06eb-3a183254298b", "TenantId": "6271b9cb-31a4-07e1-e895-3a18325419b0", "Name": "AbpIdentity.Users.Update.ManageRoles", "ProviderName": "R", "ProviderKey": "admin" }, { "Id": "4fcd8817-8f4f-0d7b-dea3-3a1832542995", "TenantId": "6271b9cb-31a4-07e1-e895-3a18325419b0", "Name": "AbpIdentity.Users.ViewDetails", "ProviderName": "R", "ProviderKey": "admin" } ]

Provide us with the following info:

  • Template: app-nolayers

  • Created ABP Studio Version: 0.9.25

  • Current ABP Studio Version: 0.9.25

  • Multi-Tenancy: Yes

  • UI Framework: mvc

  • Theme: leptonx

  • Theme Style: system

  • Run Install Libs: Yes

  • Database Provider: ef

  • Database Management System: sqlserver

  • Create Initial Migration: Yes

  • Run Db Migrator: Yes

  • Use Local References: No

  • Optional Modules:

    • GDPR
    • TextTemplateManagement
    • LanguageManagement
    • AuditLogging
    • OpenIddictAdmin
  • Exception message and full stack trace:

From Abp Suite Modules tab: Module management is not supported for the current solution's template type

  • Steps to reproduce the issue:
  • Created solution in Abp Studio using multiple layer template
  • Opened Abp Suite
  • Clicked on Modules tab

There was a company Nuget library in the default Nuget.config. I removed it and that fixed it.

Thank you

Just reopened Abp Studio and this it's what is in the log for today 2025-03-12 05:40:01.985 -05:00 [INF] Loaded ABP modules: 2025-03-12 05:40:01.987 -05:00 [INF] - Volo.Abp.Studio.UI.AbpStudioUIHostModule ... Rest of modules 2025-03-12 05:40:01.988 -05:00 [INF] Loaded ABP modules: 2025-03-12 05:40:01.988 -05:00 [INF] - Volo.Abp.Studio.Extensions.StandardTemplates.AbpStudioExtensionsStandardTemplatesCoreModule 2025-03-12 05:40:01.988 -05:00 [INF] - Volo.Abp.Studio.AbpStudioDomainModule ... Rest of modules 2025-03-12 05:40:01.988 -05:00 [INF] Loaded ABP modules: 2025-03-12 05:40:01.988 -05:00 [INF] - Volo.Abp.Studio.Extensions.StandardTemplates.UI.AbpStudioExtensionsStandardTemplatesUIModule 2025-03-12 05:40:01.988 -05:00 [INF] - Volo.Abp.Studio.Extensions.StandardTemplates.AbpStudioExtensionsStandardTemplatesCoreModule ... Rest of modules 2025-03-12 05:40:02.013 -05:00 [INF] Initialized Scheduler Signaller of type: Quartz.Core.SchedulerSignalerImpl 2025-03-12 05:40:02.014 -05:00 [INF] Quartz Scheduler created 2025-03-12 05:40:02.014 -05:00 [INF] JobFactory set to: Quartz.Simpl.MicrosoftDependencyInjectionJobFactory 2025-03-12 05:40:02.022 -05:00 [INF] RAMJobStore initialized. 2025-03-12 05:40:02.022 -05:00 [INF] Quartz Scheduler 3.13.0.0 - '05815d17-416a-45ac-9809-54449954e3ba' with instanceId 'NON_CLUSTERED' initialized 2025-03-12 05:40:02.022 -05:00 [INF] Using thread pool 'Quartz.Simpl.DefaultThreadPool', size: 10 2025-03-12 05:40:02.022 -05:00 [INF] Using job store 'Quartz.Simpl.RAMJobStore', supports persistence: False, clustered: False 2025-03-12 05:40:02.024 -05:00 [INF] Adding 0 jobs, 0 triggers. 2025-03-12 05:40:02.028 -05:00 [INF] Scheduler 05815d17-416a-45ac-9809-54449954e3ba_$_NON_CLUSTERED started. 2025-03-12 05:40:02.254 -05:00 [INF] Starting ABP Studio Backend... 2025-03-12 05:40:02.325 -05:00 [INF] Initialized all ABP modules. 2025-03-12 05:40:02.402 -05:00 [INF] Application started. Press Ctrl+C to shut down. 2025-03-12 05:40:02.402 -05:00 [INF] Hosting environment: Production 2025-03-12 05:40:02.402 -05:00 [INF] Content root path: / 2025-03-12 05:40:05.823 -05:00 [INF] Setting shell environment variables for /bin/zsh 2025-03-12 05:40:06.105 -05:00 [INF] Set shell environment variable: XPC_SERVICE_NAME=application.volo.abp.studio.ui.host.275297326.275297962 2025-03-12 05:40:06.105 -05:00 [INF] Set shell environment variable: USER=rogerhopkins 2025-03-12 05:40:06.105 -05:00 [INF] Set shell environment variable: COMMAND_MODE=unix2003 2025-03-12 05:40:06.106 -05:00 [INF] Set shell environment variable: __CFBundleIdentifier=volo.abp.studio.ui.host 2025-03-12 05:40:06.106 -05:00 [INF] Set shell environment variable: __CF_USER_TEXT_ENCODING=0x1F5:0x0:0x0 2025-03-12 05:40:06.106 -05:00 [INF] Set shell environment variable: TMPDIR=/var/folders/cn/j4xfhgq91m3ft78bmt00pg6c0000gn/T/ 2025-03-12 05:40:06.106 -05:00 [INF] Set shell environment variable: LOGNAME=rogerhopkins 2025-03-12 05:40:06.106 -05:00 [INF] Original PATH: /opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin/lib/node_modules/@quasar/cli/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/usr/local/share/dotnet:/Users/rogerhopkins/.dotnet/tools:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/Users/rogerhopkins/.dotnet/tools 2025-03-12 05:40:06.107 -05:00 [INF] Added the following paths: /Users/rogerhopkins/.dotnet, /usr/local/share/dotnet/x64, /Users/rogerhopkins/.abp/studio/cli/old, /opt/homebrew/opt/dotnet@8/bin, /opt/homebrew/opt/dotnet@9/bin, /usr/local/opt/node/bin, /usr/local/Cellar/node, /Users/rogerhopkins/.nvm/versions/node/v18.20.6/bin, /Users/rogerhopkins/.nvm/versions/node/v20.9.0/bin, /opt/homebrew/opt/node/bin, /opt/homebrew/opt/nvm/nvm.sh, /usr/local/opt/nvm/nvm.sh 2025-03-12 05:40:06.108 -05:00 [INF] Set shell environment variable: PATH=/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin/lib/node_modules/@quasar/cli/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/usr/local/share/dotnet:/Users/rogerhopkins/.dotnet/tools:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/Users/rogerhopkins/.dotnet/tools:/Users/rogerhopkins/.dotnet:/usr/local/share/dotnet/x64:/Users/rogerhopkins/.abp/studio/cli/old:/opt/homebrew/opt/dotnet@8/bin:/opt/homebrew/opt/dotnet@9/bin:/usr/local/opt/node/bin:/usr/local/Cellar/node:/Users/rogerhopkins/.nvm/versions/node/v18.20.6/bin:/Users/rogerhopkins/.nvm/versions/node/v20.9.0/bin:/opt/homebrew/opt/node/bin:/opt/homebrew/opt/nvm/nvm.sh:/usr/local/opt/nvm/nvm.sh 2025-03-12 05:40:06.108 -05:00 [INF] Set shell environment variable: XPC_FLAGS=0x0 .. Rest of shell environment variables HOMEBREW_BREW_GIT_REMOTE=/https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git 2025-03-12 05:40:06.112 -05:00 [INF] Set .NET environment variable: HOMEBREW_CORE_GIT_REMOTE=/https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git 2025-03-12 05:40:07.079 -05:00 [INF] Received HTTP response headers after 759.2526ms - 200 2025-03-12 05:40:07.083 -05:00 [INF] End processing HTTP request after 766.8781ms - 200 2025-03-12 05:40:07.316 -05:00 [INF] Trying to connect to ABP Studio Backend: http://localhost:38271 2025-03-12 05:40:07.965 -05:00 [INF] Start processing HTTP request GET https://abp.io/api/app/post?* 2025-03-12 05:40:07.965 -05:00 [INF] Sending HTTP request GET https://abp.io/api/app/post?* 2025-03-12 05:40:08.144 -05:00 [INF] Received HTTP response headers after 179.338ms - 200 2025-03-12 05:40:08.144 -05:00 [INF] End processing HTTP request after 179.678ms - 200 2025-03-12 05:40:10.088 -05:00 [INF] Starting task execution: Checking license end time 2025-03-12 05:40:10.092 -05:00 [INF] Completed task execution: Checking license end time 2025-03-12 05:40:10.593 -05:00 [INF] Received HTTP response headers after 571.5116ms - 200 2025-03-12 05:40:10.593 -05:00 [INF] End processing HTTP request after 571.7332ms - 200 2025-03-12 05:40:10.601 -05:00 [INF] Starting task execution: Checking pre-requirements 2025-03-12 05:40:12.539 -05:00 [INF] Trying to connect to ABP Studio Backend: http://localhost:38271 2025-03-12 05:40:16.881 -05:00 [INF] CLI command executed. Command: abp cli version Working directory: / {"ExitCode":0,"IsSuccess":true,"StartTime":"2025-03-12T05:40:13.6240470-05:00","ExitTime":"2025-03-12T05:40:16.8807040-05:00","RunTime":"00:00:03.2566570","$type":"CommandResult"} 2025-03-12 05:40:26.125 -05:00 [WRN] .NET tool Volo.Abp.Studio.Cli installation failed. Exit code: 1, Output: Unhandled exception: NuGet.Protocol.Core.Types.FatalProtocolException: Unable to load the service index for source https://packagelibrary.dmssolutionsweb.net/nuget. ---> System.Net.Http.HttpRequestException: No route to host (packagelibrary.dmssolutionsweb.net:443) ---> System.Net.Sockets.SocketException (65): No route to host at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken) at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token) at System.Net.Sockets.Socket.<ConnectAsync>g__WaitForConnectWithCancellation|285_0(AwaitableSocketAsyncEventArgs saea, ValueTask connectTask, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken) --- End of inner exception stack trace --- at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.InjectNewHttp11ConnectionAsync(QueueItem queueItem) at System.Threading.Tasks.TaskCompletionSourceWithCancellation1.WaitWithCancellationAsync(CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken) at System.Net.Http.AuthenticationHelper.SendWithAuthAsync(HttpRequestMessage request, Uri authUri, Boolean async, ICredentials credentials, Boolean preAuthenticate, Boolean isProxyAuth, Boolean doRequestAuth, HttpConnectionPool pool, CancellationToken cancellationToken) at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at System.Net.Http.DecompressionHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at NuGet.Protocol.ServerWarningLogHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) at NuGet.Protocol.HttpSourceAuthenticationHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken) at NuGet.Protocol.HttpRetryHandler.<>c__DisplayClass5_1.<<SendAsync>b__0>d.MoveNext() --- End of stack trace from previous location --- at NuGet.Protocol.TimeoutUtility.StartWithTimeout[T](Func2 getTask, TimeSpan timeout, String timeoutMessage, CancellationToken token) at NuGet.Protocol.HttpRetryHandler.SendAsync(HttpRetryHandlerRequest request, String source, ILogger log, CancellationToken cancellationToken) at NuGet.Protocol.HttpSource.GetThrottledResponse(Func1 requestFactory, TimeSpan requestTimeout, TimeSpan downloadTimeout, Int32 maxTries, Boolean isRetry, Boolean isLastAttempt, Guid sessionId, ILogger log, CancellationToken cancellationToken) at NuGet.Protocol.HttpSource.ProcessResponseAsync[T](HttpSourceRequest request, Func2 processAsync, SourceCacheContext cacheContext, ILogger log, CancellationToken token) at ODataServiceDocumentUtils.CreateODataServiceDocumentResourceV2(String url, HttpSource client, DateTime utcNow, ILogger log, CancellationToken token) --- End of inner exception stack trace --- at ODataServiceDocumentUtils.CreateODataServiceDocumentResourceV2(String url, HttpSource client, DateTime utcNow, ILogger log, CancellationToken token) at NuGet.Protocol.ODataServiceDocumentResourceV2Provider.TryCreate(SourceRepository source, CancellationToken token) at NuGet.Protocol.Core.Types.SourceRepository.GetResourceAsync[T](CancellationToken token) at NuGet.Protocol.PackageMetadataResourceV2FeedProvider.TryCreate(SourceRepository source, CancellationToken token) at NuGet.Protocol.Core.Types.SourceRepository.GetResourceAsync[T](CancellationToken token) at Microsoft.DotNet.Cli.NuGetPackageDownloader.NuGetPackageDownloader.GetPackageMetadataAsync(PackageSource source, String packageIdentifier, Boolean includePrerelease, Boolean includeUnlisted, CancellationToken cancellationToken) at Microsoft.DotNet.Cli.NuGetPackageDownloader.NuGetPackageDownloader.GetMatchingVersionInternalAsync(String packageIdentifier, IEnumerable`1 packageSources, VersionRange versionRange, CancellationToken cancellationToken) at Microsoft.DotNet.Cli.NuGetPackageDownloader.NuGetPackageDownloader.GetBestPackageVersionAsync(PackageId packageId, VersionRange versionRange, PackageSourceLocation packageSourceLocation) at Microsoft.DotNet.Cli.ToolPackage.ToolPackageDownloader.GetNuGetVersion(PackageLocation packageLocation, PackageId packageId, VerbosityOptions verbosity, VersionRange versionRange, Boolean isGlobalTool) at Microsoft.DotNet.Tools.Tool.Install.ToolInstallGlobalOrToolPathCommand.GetBestMatchNugetVersion(PackageId packageId, VersionRange versionRange, IToolPackageDownloader toolPackageDownloader) at Microsoft.DotNet.Tools.Tool.Install.ToolInstallGlobalOrToolPathCommand.ExecuteInstallCommand(PackageId packageId) at Microsoft.DotNet.Tools.Tool.Install.ToolInstallGlobalOrToolPathCommand.Execute() at Microsoft.DotNet.Tools.Tool.Update.ToolUpdateGlobalOrToolPathCommand.Execute() at System.CommandLine.Invocation.InvocationPipeline.Invoke(ParseResult parseResult) at System.CommandLine.ParseResult.Invoke() at Microsoft.DotNet.Cli.Program.ProcessArgs(String[] args, TimeSpan startupTime, ITelemetry telemetryClient) , StandardOutput: 2025-03-12 05:40:29.128 -05:00 [INF] Completed task execution: Checking pre-requirements 2025-03-12 05:40:29.129 -05:00 [INF] Starting task execution: Loading extensions 2025-03-12 05:40:29.146 -05:00 [INF] Completed task execution: Loading extensions 2025-03-12 05:40:29.146 -05:00 [INF] Starting task execution: Checking for the new version of ABP Studio 2025-03-12 05:40:29.433 -05:00 [INF] [VPK] Checking for updates... URL: https://abp.io/api/abp-studio/r/download/osx 2025-03-12 05:40:29.450 -05:00 [INF] Downloading release file 'releases.beta.json' from 'https://abp.io/api/abp-studio/r/download/osx/releases.beta.json?arch=arm64&os=osx&rid=osx-arm64'. 2025-03-12 05:40:29.451 -05:00 [INF] [VPK] Creating HttpClient for AbpIoFileDownloader 2025-03-12 05:40:29.452 -05:00 [INF] Start processing HTTP request GET https://abp.io/api/abp-studio/r/download/osx/releases.beta.json?* 2025-03-12 05:40:29.452 -05:00 [INF] Sending HTTP request GET https://abp.io/api/abp-studio/r/download/osx/releases.beta.json?* 2025-03-12 05:40:30.245 -05:00 [INF] Received HTTP response headers after 792.4848ms - 200 2025-03-12 05:40:30.245 -05:00 [INF] End processing HTTP request after 793.0346ms - 200 2025-03-12 05:40:30.253 -05:00 [INF] Found newer remote release available (0.9.24 -> 0.9.25). 2025-03-12 05:40:30.253 -05:00 [INF] There is no local/base package available for this update, so delta updates will be disabled. 2025-03-12 05:40:30.270 -05:00 [INF] Downloading full release (abp-studio-0.9.25-beta-full.nupkg) 2025-03-12 05:40:30.271 -05:00 [INF] Downloading 'abp-studio-0.9.25-beta-full.nupkg' from 'https://abp.io/api/abp-studio/r/download/osx/abp-studio-0.9.25-beta-full.nupkg'. 2025-03-12 05:40:30.271 -05:00 [INF] [VPK] Creating HttpClient for AbpIoFileDownloader 2025-03-12 05:40:30.272 -05:00 [INF] Start processing HTTP request GET https://abp.io/api/abp-studio/r/download/osx/abp-studio-0.9.25-beta-full.nupkg 2025-03-12 05:40:30.272 -05:00 [INF] Sending HTTP request GET https://abp.io/api/abp-studio/r/download/osx/abp-studio-0.9.25-beta-full.nupkg 2025-03-12 05:40:30.274 -05:00 [INF] Completed task execution: Checking for the new version of ABP Studio 2025-03-12 05:40:30.610 -05:00 [INF] Received HTTP response headers after 337.6146ms - 200 2025-03-12 05:40:30.610 -05:00 [INF] End processing HTTP request after 338.1997ms - 200 2025-03-12 05:40:42.687 -05:00 [INF] [VPK] Downloading update: 4 2025-03-12 05:40:46.211 -05:00 [INF] [VPK] Downloading update: 6 2025-03-12 05:40:50.693 -05:00 [INF] [VPK] Downloading update: 10 2025-03-12 05:40:55.735 -05:00 [INF] [VPK] Downloading update: 12 2025-03-12 05:41:04.340 -05:00 [INF] [VPK] Downloading update: 16 2025-03-12 05:41:12.419 -05:00 [INF] [VPK] Downloading update: 18 2025-03-12 05:41:23.033 -05:00 [INF] [VPK] Downloading update: 22

  • Template: microservice

  • Created ABP Studio Version: 0.9.23

  • Current ABP Studio Version: 0.9.24

  • 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
  • Steps to reproduce the issue:

  • Used the upgrade utility within Abp Studio

  • Also deleted the Abp Studio app and redownloaded from the Abp website and ran the install package.

In both cases got the error below

Ok. I updated the module. However it's probably fine to have the AbpDistributedEventBus use MongoDB in the same database.

However I had to add code to configure the SQL dbcontexts Configure<AbpDbContextOptions>(options => { options.Configure<PermissionManagementDbContext>(dbContextOptions => { dbContextOptions.UseSqlServer(); }); ... remaining Sql db contexts

Here's the revised MemberConfigDbContext

using CloverleafCMS.MemberConfig.Members;
using MongoDB.Driver;
using Volo.Abp.Data;
using Volo.Abp.MongoDB;
using Volo.Abp.MongoDB.DistributedEvents;

namespace CloverleafCMS.MemberConfig.Data;

[ConnectionStringName(DatabaseName)]

public class MemberConfigDbContext :
    AbpMongoDbContext,
    IHasEventInbox,
    IHasEventOutbox
{
    public IMongoCollection<Member> Members => Collection<Member>();
    public const string DatabaseName = "MemberConfig";

    public IMongoCollection<IncomingEventRecord> IncomingEvents => Collection<IncomingEventRecord>();
    public IMongoCollection<OutgoingEventRecord> OutgoingEvents => Collection<OutgoingEventRecord>();


    protected override void CreateModel(IMongoModelBuilder modelBuilder)
    {
        base.CreateModel(modelBuilder);

        modelBuilder.ConfigureEventInbox();
        modelBuilder.ConfigureEventOutbox();
    }
}

I was able to build and run the application. However when I execute the post route of the API I get this error: Error] ---------- RemoteServiceErrorInfo ---------- { "code": null, "message": "An internal error occurred during your request!", "details": null, "data": null, "validationErrors": null }

3/5/2025 9:15:38 PM [Error] Autofac.Core.DependencyResolutionException: An exception was thrown while activating Castle.Proxies.MembersAppServiceProxy -> CloverleafCMS.MemberConfig.Members.MongoMemberRepository. ---> Autofac.Core.DependencyResolutionException: None of the constructors found on type 'CloverleafCMS.MemberConfig.Members.MongoMemberRepository' can be invoked with the available services and parameters: Cannot resolve parameter 'Volo.Abp.MongoDB.IMongoDbContextProvider1[CloverleafCMS.MemberConfig.Data.MemberConfigDbContext] dbContextProvider' of constructor 'Void .ctor(Volo.Abp.MongoDB.IMongoDbContextProvider1[CloverleafCMS.MemberConfig.Data.MemberConfigDbContext])'.

See https://autofac.rtfd.io/help/no-constructors-bindable for more info.

  • 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.<

** 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.<

--- 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.

Showing 21 to 30 of 93 entries
Learn More, Pay Less
33% OFF
All Trainings!
Get Your Deal
Mastering ABP Framework Book
The Official Guide
Mastering
ABP Framework
Learn More
Mastering ABP Framework Book
Made with ❤️ on ABP v10.0.0-preview. Updated on September 12, 2025, 10:20