Activities of "jarrad78"

  • ABP Framework version: v4.1.1
  • UI type: Blazor
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Seperated (Angular): No
  • Exception message and stack trace: N/A
  • Steps to reproduce the issue: N/A

Is there documentation to help me understand what each Identity Server client is used for exactly? It is obvious what Blazor and Swagger clients are there for in DBMigrator appsettings.json file but I am unsure about _Web and _App. Are these two endpoints necessary in my usage scenario?

For example if I create a Blazor Project with the following configuration: abp new ExampleProject -t app-pro -u blazor

If I deploy this project to Azure App Service I will have two independent App Services to deploy, (ExampleProject.HttpApi.Host and ExampleProject.Blazor) each app service will have an independent url.

For example: ExampleProject.HttpApi.Host - https://exampleProject-Blazor.azurewebsites.net ExampleProject.Blazor - https://exampleProject-HttpApiHost.azurewebsites.net

1.) How would this be usage scenario be configured in the IdentityServer clients section below for creating the DBMigration in DBMigrator project? 2.) Are _Web and _App clients even necessary in this usage case? 3.) Do you have more detailed documentation on IdentityServer configuration specific to ABP-PRO Blazor

  "IdentityServer": {
    "Clients": {
      "**ExampleProject_Web**": {
        "ClientId": "ExampleProject_Web",
        "RootUrl": "https://localhost:44323/"
      },
      "**ExampleProject_App**": {
        "ClientId": "ExampleProject_App",
        "RootUrl": "http://localhost:4200"
      },
      "**ExampleProject_Blazor**": {
        "ClientId": "ExampleProject_Blazor",
        "RootUrl": "http://localhost:44307"
      },
      "**ExampleProject_Swagger**": {
        "ClientId": "ExampleProject_Swagger",
        "ClientSecret": "1q2w3e*",
        "RootUrl": "https://localhost:44319"
      }
    }
  }

Is the expected config for HttpApi + Blazor config as follows?

DBMigrator - appsettings.json

"IdentityServer": {
    "Clients": {
        "ExampleProject_Blazor": {
            "ClientId": "ExampleProject_Blazor",
            "RootUrl": "https://exampleProject-Blazor.azurewebsites.net"
        },
        "ExampleProject_Swagger": {
            "ClientId": "ExampleProject_Swagger",
            "ClientSecret": "1q2w3e*",
            "RootUrl": "https://exampleProject-HttpApiHost.azurewebsites.net"
        }
    }
}

ExampleProject.Blazor - appsettings.json

{
  "AuthServer": {
    "Authority": "https://exampleProject-HttpApiHost.azurewebsites.net",
    "ClientId": "ExampleProject_Blazor",
    "ResponseType": "code"
  },
  "RemoteServices": {
    "Default": {
      "BaseUrl": "https://exampleProject-HttpApiHost.azurewebsites.net"
    }
  },
  "AbpCli": {
    "Bundle": {
      "Mode": "BundleAndMinify", /* Options: None, Bundle, BundleAndMinify */
      "Name": "global",
      "Parameters": {
        "LeptonTheme.Style": "Style6", /* Options: Style1, Style2... Style6 */
        "LeptonTheme.ChangeStyleDynamically": "true"
      }
    }
  }

ExampleProject.HttpApi.Host - appsettings.json

{
"App": {
  "SelfUrl": "https://exampleProject-HttpApiHost.azurewebsites.net",
  "CorsOrigins": "https://*.ShopLogic.com,https://exampleProject-Blazor.azurewebsites.net"
},
"ConnectionStrings": {
  "Default": ".........."
},
"AuthServer": {
  "Authority": "https://exampleProject-HttpApiHost.azurewebsites.net",
  "RequireHttpsMetadata": "false"
}
"StringEncryption": {
  "DefaultPassPhrase": ".........."
},
"Settings": {
  "Volo.Abp.LeptonTheme.Style": "Style3", /* Options: Style1, Style2... Style6 */
  "Volo.Abp.LeptonTheme.Layout.MenuPlacement": "Top", /* Options: Left, Top */
  "Volo.Abp.LeptonTheme.Layout.MenuStatus": "AlwaysOpened", /* Options: AlwaysOpened, OpenOnHover */
  "Volo.Abp.LeptonTheme.Layout.Boxed": "False", /* Options: True, False */
  "Abp.Mailing.Smtp.Host": "127.0.0.1",
  "Abp.Mailing.Smtp.Port": "25",
  "Abp.Mailing.Smtp.UserName": "",
  "Abp.Mailing.Smtp.Password": "",
  "Abp.Mailing.Smtp.Domain": "",
  "Abp.Mailing.Smtp.EnableSsl": "false",
  "Abp.Mailing.Smtp.UseDefaultCredentials": "true",
  "Abp.Mailing.DefaultFromAddress": "noreply@abp.io",
  "Abp.Mailing.DefaultFromDisplayName": "ABP application"
},
"AbpLicenseCode": ".........."
}

Thanks for your feedback.

Check the docs before asking a question: https://docs.abp.io/en/commercial/latest/ Check the samples, to see the basic tasks: https://docs.abp.io/en/commercial/latest/samples/index The exact solution to your question may have been answered before, please use the search on the homepage.

  • ABP Framework version: v4.2.1
  • UI type: MVC
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): no
  • Exception message and stack trace:
  • Steps to reproduce the issue:

I have created simple test scenario with the following entity and child entity

Parent Entity     public class SampleTestX : FullAuditedAggregateRoot<Guid>, IMultiTenant     {         public Guid? TenantId { get; set; }         public string TestA { get; set; }         public string TestB { get; set; }         public string TestC { get; set; }         public string TestD { get; set; }

        public ICollection<SampleTestX2> samples { get; set; }

        public SampleTestX()         {

        }

        public SampleTestX(Guid id)         {             Id = id;         }

        public SampleTestX(Guid id, Guid? tenantId, string testA, string testB, string testC, string testD)         {             Id = id;             TenantId = tenantId;             TestA = testA;             TestB = testB;             TestC = testC;             TestD = testD;         }     }

Child Entity     public class SampleTestX2 : FullAuditedEntity<Guid>, IMultiTenant     {         public Guid? TenantId { get; set; }         public string SampleA { get; set; }         public string SampleB { get; set; }

        public Guid SampleTestXId { get; set; } //FK         public SampleTestX sample { get; set; } //Nav Link

        public SampleTestX2()         {

        }

        public SampleTestX2(Guid id, Guid? tenantId)         {             Id = id;             TenantId = tenantId;         }     }

app service interface:     public interface ISampleTestXAppService : ICrudAppService<SampleTestXDto, Guid, PagedAndSortedResultRequestDto, CreateSampleTestXDto, UpdateSampleTestXDto>     {         Task<SampleTestXExtendedDto> GetExtendedAsync(Guid id);     }

app service:     public class SampleTestXAppService : CrudAppService<SampleTestX, SampleTestXDto, Guid, PagedAndSortedResultRequestDto, CreateSampleTestXDto, UpdateSampleTestXDto>, ISampleTestXAppService     {         private IRepository<SampleTestX, Guid> _testRepository;         public SampleTestXAppService(IRepository<SampleTestX, Guid> testRepository) : base(testRepository)         {             _testRepository = testRepository;         }

        public virtual async Task<SampleTestXExtendedDto> GetExtendedAsync(Guid id)         {             var sampleTestX = await GetSampleTestX<SampleTestXExtendedDto>(id, true);             return sampleTestX;         }

        private async Task<TSampleTestXDtoType> GetSampleTestX<TSampleTestXDtoType>(Guid id, bool isExtended = false) where TSampleTestXDtoType : SampleTestXDto         {             var tmp = await _testRepository.GetAsync(id: id, includeDetails: isExtended);             return ObjectMapper.Map<SampleTestX, TSampleTestXDtoType>(tmp);         }     } Repo Interface:     public interface ISampleTestXRepository : IRepository<SampleTestX, Guid>     {

    }

EFCore Repo Implementation:     public class EfCoreSampleTestXRepository : EfCoreRepository<AppDbContext, SampleTestX, Guid>, ISampleTestXRepository     {         public EfCoreSampleTestXRepository(IDbContextProvider<AppDbContext> dbContextProvider) : base(dbContextProvider)         {         }

        public override async Task<IQueryable<SampleTestX>> WithDetailsAsync()         {             // Uses the extension method defined above             return (await GetQueryableAsync()).IncludeDetails();         }     }     public static class SampleTestXExtensionMethods     {         public static IQueryable<SampleTestX> IncludeDetails(this IQueryable<SampleTestX> queryable, bool include = true)         {             if (!include)             {                 return queryable;             }

            return queryable                 .Include(x=>x.samples);         }     }

I want to use CrudAppService to be able to create parent and child entity at same time. Is this possible using CrudAppService in MultiTenant scenario? I am able to successfully create the parent and child entity but the tenantId of child entity is always blank upon creation. If I were to create custom app implementation then injecting ICurrentUser would be no problem but using CrudAppService I do not see where this is possible for child entity. Am I missing something or is this not possible?

I figured out to add TenantId field to DTO object, I then overrode the base crud app service method, I then add TenantId to the DTO prior to sending the updated DTO object to base CRUD method. Is this correct approach?

I figured out to add TenantId field to DTO object, I then overrode the base crud app service method, I then add TenantId to the DTO prior to sending the updated DTO object to base CRUD method. Is this correct approach?

You can also inject ICurrentTenant to your application service to get the current tenant information.

I can get the ICurrentTenant without issue, is there any way to have the sub-entities update when using the IRepository UpdateAsync method? Currently when I attempt to update via IRepository UpdateAsync method, the parent entity updates as expected but the attached child entities are all marked as isDeleted = true and none of the updates are applied to the sub-entites upon save. It's strange because when I debug, the results are exactly as expected and show the correct information, but after the resultDTO object is sent back to the browser, then the sub-entities are being marked as deleted in the database.

  • ABP Framework version: v5.1.3
  • UI type: MVC
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): NO
  • Exception message and stack trace: N/A
  • Steps to reproduce the issue:" N/A

Where can I find documentation for MVC Build Deployment guidelines for IIS server deployment type. I read that deployment documentation for various platforms was under development, is any documentation available for IIS deployments? If not, when might said documentation be available?

Is anyone there? Can you see your EmailSettings in swagger?

Good Afternoon, I am facing an issue when using a Customized login method in my ABP.IO based project.

I have implemented a customized login flow using the solution provided in https://github.com/abpframework/abp-samples/tree/master/SignInWithoutSpecifyingTenant. In our solution, we have enabled Chat Module and CMSKit Module.

When we attempt to login as a tenant while using the incorrect password, we receive an AggregateException error as a result of the login attempt. When we remove the Chat and CMSKit modules, we receive the normal error that you are supposed to receive when an incorrect credential is used. When the modules are enabled and we remove the custom login flow, select our tenant and try to login with incorrect password, it also gives the proper error message.

  • ABP Framework version: v5.3.4
  • UI type: MVC
  • DB provider: EF Core
  • Tiered (MVC): no
  • Exception message and stack trace:
  • Steps to reproduce the issue:"

Hi,

Could you share the steps to reproduce or a project that can reproduce the problem with me via email? shiwei.liang@volosoft.com thanks.

Hello liangshiwei,

I created a new project at version 5.2.1. I then opened abp suite and added the chat module package.

I then implemented customized login flow as described here https://github.com/abpframework/abp-samples/tree/master/SignInWithoutSpecifyingTenant.

I then logged in using host account and created a new tenant. I then enabled the chat feature within the tenant standard edition. I then upgraded abp packages to 5.3.4 using abp suite.

When I login with tenant using incorrect password, I am getting error when wrong password is used. Although the error in my example git repo is a little different than my original error, root cause seems to be the same. It appears for some reason an attempt is made to insert a duplicate chat user.

Please see repo @ https://github.com/jarrad78shoplogic/Testest.git

The above replicates what we did in our own project. We were running 5.2.1 and using a customized login flow for signin without specifying tenant. When we upgraded to 5.3.4 the error began for us in same manner as in the sample above.

Hello liangshiwei,

When I attempt to run automated tests within my project after applying patch I receive the following issue when attempting to execute automated tests. This seems to also be related to the original issue as AggregateException on EntityUpdatedEto is being thrown in the test project. Do I also need to apply a patch to the TestBase? If so, where should patch be applied?

All tests within the project fail.

` MyProject.Timeclock.TimeclockTests.FiveMinuteRoundingTimeShouldCalculateAsExpectedAsync(value1: 2021-01-01T01:09:00.0000000, expected: 2021-01-01T01:10:00.0000000) Source: TimeclockTests.cs line 248 Duration: 1 ms

Message:  Volo.Abp.AbpInitializationException : An error occurred during the initialize Volo.Abp.Modularity.OnApplicationInitializationModuleLifecycleContributor phase of the module MyProject.MyProjectTestBaseModule, MyProject.TestBase, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null: More than one error has occurred while triggering the event: Volo.Abp.Domain.Entities.Events.Distributed.EntityUpdatedEto1[Volo.Abp.Users.UserEto] (SqliteConnection does not support nested transactions.) (SqliteConnection does not support nested transactions.). See the inner exception for details. ---- System.AggregateException : More than one error has occurred while triggering the event: Volo.Abp.Domain.Entities.Events.Distributed.EntityUpdatedEto1[Volo.Abp.Users.UserEto] (SqliteConnection does not support nested transactions.) (SqliteConnection does not support nested transactions.) -------- System.InvalidOperationException : SqliteConnection does not support nested transactions. -------- System.InvalidOperationException : SqliteConnection does not support nested transactions.

Stack Trace:  ModuleManager.InitializeModules(ApplicationInitializationContext context) AbpApplicationBase.InitializeModules() AbpIntegratedTest1.ctor() TimeclockTests.ctor() line 21 RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean wrapExceptions) ----- Inner Stack Trace ----- EventBusBase.ThrowOriginalExceptions(Type eventType, List1 exceptions) EventBusBase.TriggerHandlersAsync(Type eventType, Object eventData) LocalEventBus.PublishAsync(LocalEventMessage localEventMessage) LocalEventBus.PublishToEventBusAsync(Type eventType, Object eventData) <47 more frames...> DbContext.SaveChangesAsync(Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken) DbContext.SaveChangesAsync(Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken) AbpDbContext1.SaveChangesAsync(Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken) UnitOfWork.SaveChangesAsync(CancellationToken cancellationToken) UnitOfWork.CompleteAsync(CancellationToken cancellationToken) UserLookupService2.WithNewUowAsync(Func1 func) UserLookupService2.FindByIdAsync(Guid id, CancellationToken cancellationToken) CmsUserSynchronizer.HandleEventAsync(EntityUpdatedEto1 eventData) EventHandlerInvoker.InvokeAsync(IEventHandler eventHandler, Object eventData, Type eventType) EventBusBase.TriggerHandlerAsync(IEventHandlerFactory asyncHandlerFactory, Type eventType, Object eventData, List1 exceptions, InboxConfig inboxConfig)`

They seem to be related since both are having exception when HandleEventAsync(EntityUpdatedEto) is called. I will go ahead and open another ticket but they do seem to be happening in exactly the same spot just in different project.

Showing 1 to 10 of 12 entries
Made with ❤️ on ABP v8.2.0-preview Updated on March 25, 2024, 15:11