Activities of "maliming"

hi

You can try to add InvariantGlobalization to DbMigrator

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <InvariantGlobalization>true</InvariantGlobalization>
  </PropertyGroup>

</Project>

https://learn.microsoft.com/en-us/dotnet/core/runtime-config/globalization

ok, Please wait for the email reply. Thanks.

Hi,

You can send an email to license@abp.io. your ticket refunded.

hi

The style is

.lpx-nav-menu .lpx-menu-item-link .lpx-menu-item-text {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 172px;
    font-size: 1em;
}

hi

You can test this

public class MyExtraPropertyDictionaryValueComparer : ValueComparer<ExtraPropertyDictionary>
{
    public MyExtraPropertyDictionaryValueComparer()
        : base(
            (a, b) => Compare(a, b),
            d => d.Aggregate(0, (k, v) => HashCode.Combine(k, v.GetHashCode())),
            d => new ExtraPropertyDictionary(d))
    {
    }

    private static bool Compare(ExtraPropertyDictionary? a, ExtraPropertyDictionary? b)
    {
        if (a == null && b == null)
        {
            return true;
        }

        if (a == null && b != null || a != null && b == null)
        {
            return false;
        }

        return a!.SequenceEqual(b!);
    }
}

builder.Entity<IdentityUser>(b =>
{
    b.ToTable(AbpIdentityDbProperties.DbTablePrefix + "Users", AbpIdentityDbProperties.DbSchema);
    b.ConfigureByConvention();

    b.Property(x => x.LockoutEnd).HasColumnName(nameof(IdentityUser.LockoutEnd));
    b.Property(x => x.Id).HasColumnName(nameof(IdentityUser.Id));

    b.Property(x => x.ExtraProperties)
        .HasColumnName(nameof(IHasExtraProperties.ExtraProperties))
        .HasConversion(new ExtraPropertiesValueConverter(b.Metadata.ClrType))
        .Metadata.SetValueComparer(new MyExtraPropertyDictionaryValueComparer());
});

builder.Entity<IdentityUserView>(b =>
{
    b.ToTable(AbpAuditLoggingDbProperties.DbTablePrefix + "Users", AbpIdentityDbProperties.DbSchema);
    b.ConfigureByConvention();

    b.Property(x => x.ExtraProperties)
        .HasColumnName(nameof(IHasExtraProperties.ExtraProperties))
        .HasConversion(new ExtraPropertiesValueConverter(b.Metadata.ClrType))
        .Metadata.SetValueComparer(new MyExtraPropertyDictionaryValueComparer());

    b.Property(x => x.Id).HasColumnName(nameof(IdentityUser.Id));
    b.Property(x => x.AccessFailedCount).HasColumnName(nameof(IdentityUser.AccessFailedCount));
    b.Property(x => x.Email).HasColumnName(nameof(IdentityUser.Email)).HasMaxLength(256);
    b.Property(x => x.EmailConfirmed).HasColumnName(nameof(IdentityUser.EmailConfirmed));
    b.Property(x => x.IsActive).HasColumnName(nameof(IdentityUser.IsActive));
    b.Property(x => x.IsExternal).HasColumnName(nameof(IdentityUser.IsExternal));
    b.Property(x => x.LockoutEnabled).HasColumnName(nameof(IdentityUser.LockoutEnabled));
    b.Property(x => x.LockoutEnd).HasColumnName(nameof(IdentityUser.LockoutEnd));
    b.Property(x => x.Name).HasColumnName(nameof(IdentityUser.Name)).HasMaxLength(64);
    b.Property(x => x.NormalizedEmail).HasColumnName(nameof(IdentityUser.NormalizedEmail)).HasMaxLength(256);
    b.Property(x => x.NormalizedUserName).HasColumnName(nameof(IdentityUser.NormalizedUserName)).HasMaxLength(256);
    b.Property(x => x.PasswordHash).HasColumnName(nameof(IdentityUser.PasswordHash)).HasMaxLength(256);
    b.Property(x => x.PhoneNumber).HasColumnName(nameof(IdentityUser.PhoneNumber)).HasMaxLength(16);
    b.Property(x => x.PhoneNumberConfirmed).HasColumnName(nameof(IdentityUser.PhoneNumberConfirmed));
    b.Property(x => x.SecurityStamp).HasColumnName(nameof(IdentityUser.SecurityStamp)).HasMaxLength(256);
    b.Property(x => x.Surname).HasColumnName(nameof(IdentityUser.Surname)).HasMaxLength(64);
    b.Property(x => x.TwoFactorEnabled).HasColumnName(nameof(IdentityUser.TwoFactorEnabled));
    b.Property(x => x.UserName).HasColumnName(nameof(IdentityUser.UserName)).HasMaxLength(256);

    b.HasOne<IdentityUser>().WithOne().HasForeignKey<IdentityUserView>(e => e.Id);

});

hi

Im not sure. You can google it .

https://www.google.com/search?q=hangfire+dashboard+angular https://medium.com/we-code/integrate-hangfire-dashboard-with-angular-using-jwt-token-e15ded8eee81

hi

I created one of them and the others were created automatically. What are these two automatically created for?

Abp will have some built-in jobs, which is what you see.

I would also like to know if I created the classes related to Jobs in the correct places?

You can define and implement it in domain(domain.shared). Of course, it is not wrong in the application layer.

3-) The AbpBackgroundJobs table what is this table for and how does it work to fill it in and what is its purpose?

You don't need to care about it. abp framework will use it.

hi

Please check the request in the browser. I think the browser blocks some cookies.

hi

The application startup is not too slow from the logs.


2023-09-28 20:27:12.364 -06:00 [INF] Starting MBS.ModernCloud.HttpApi.Host.
//...
2023-09-28 20:27:17.927 -06:00 [INF] Now listening on: http://10.0.0.213:5001

but you can try to disable the background job

https://docs.abp.io/en/abp/latest/Background-Jobs#disable-job-execution

and try to remove the DynamicLocalizationResourceContributor from AbpLocalizationOptions

Configure<AbpLocalizationOptions>(options =>
{
    options.GlobalContributors.Add<DynamicLocalizationResourceContributor>();
});

hi

Are you using Lepton or Lepton X?

Can you share some obvious screenshots?

Showing 6231 to 6240 of 11534 entries
Boost Your Development
ABP Live Training
Packages
See Trainings
Mastering ABP Framework Book
The Official Guide
Mastering
ABP Framework
Learn More
Mastering ABP Framework Book
Made with ❤️ on ABP v10.1.0-preview. Updated on December 17, 2025, 07:08
1
ABP Assistant
🔐 You need to be logged in to use the chatbot. Please log in first.