Activities of "hillin"

@maliming here is the log with debug information, does not seem more useful.

May I ask what Redis(windows or Linux) version are you using?

It's Redis server v=6.2.4 running on Ubuntu server 20.04.

When we are having many (~100) requests simultaneously, we frequently get this timeout exception when trying to read c:Volo.Abp.LanguageManagement.Texts,k:App:App_zh-Hans from redis, and it seems to be the culprit which drags the server performance drastically. Can you help me to understand what LanguageManagement is doing here? How can we optimize for this situation?

  • ABP Framework version: v4.3.2
  • UI type: Blazor
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): yes

Thanks Albert, as I already replied above, it works very well with enums that have values, and I fully understand why the values matter.

However I've also addressed a few other issues related to the CRUD generation feature of abp suite, namely:

And even more minor issues as I step further into the jungles, such as the angular UI pages it generates does not compile in typescript strict mode. So my main point is, the CRUD generation feature is somewhat stale nowadays, I'd expect an overhaul before it can really work in modern projects. I'm sorry as some of these points are placed under an unrelated topic.

Thanks Albert, I can see it's a good idea to set enum values. Can you have a look at the other issues described above?

With all these issues being said, I think the CRUD generator feature of abp suite is not really in a good shape, you have to be very careful and avoid some problematic features to get it working.

Some more minor problems:

  • The enum members has to have values, otherwise the generated angular proxy is incorrect:
public enum MyEnum 
{
   Value1,
   Value2,
}

turns into

export enum MyEnum 
{
   Value1 =,
   Value2 =,
}

After unchecking the Create unit & integration tests option for the entity, generating the entity still reports the same error:

Error occurred on DB migration step! Make sure the project is compiled and working. Command output: Build started...
Build failed. Use dotnet build to see the errors.

However dotnet build runs just fine!

Edit: this one is because the aspnetcore project is running (without debugging). Closing the running project and finally the generation worked.

After replacing the enum property with an int type, generating the entity reports the following error:

Error occurred on DB migration step! Make sure the project is compiled and working. Command output: Build started...
Build failed. Use dotnet build to see the errors.

Turns out the generated EntityRepositoryTestsclass in the EntityFrameworkCore.Tests project, and the EntityApplicationTests class in the Application.Tests project does not compile. They have an excessive %%class-attributes%% text generated above the class signature. E.g.:

namespace MyProject.Entities
{   %%class-attributes%%
    public class EntityRepositoryTests : MyProjectEntityFrameworkCoreTestBase
    {

After removing the xmldoc and try to save and generate the entity, abp suite reports:

Cannot populate enum localizations! Error code: EN0004. System.NullReferenceException: Object reference not set to an instance of an object.
   at Volo.Abp.Suite.Areas.AbpSuite.CrudPageGenerator.Commands.EntityGenerateCommand.Qu5cDTUwlI()
Showing 11 to 20 of 31 entries
Made with ❤️ on ABP v8.2.0-preview Updated on March 25, 2024, 15:11