You are not granted permission to use the module 'Volo.Abp.Suite-v4.2.1.0'.
login via ABP CLI to fix this: https://docs.abp.io/en/abp/latest/CLI#login
you have 2 organizations. if you cannot login, you have to specify your active organization like below
abp login shobhit --organization Projile Corporation
2- Cannot run the angular app
When this problem occurs?
sorry your problem is related to an active issue on the Oracle provider. This problem is not related to ABP. When Oracle fixes, we'll update our package as well.
See https://github.com/abpframework/abp/issues/8210
Oracle official package should be working without any issues with the latest preview version. We have updated the package. But please try it with the 4.3.0-rc2 which will be published on friday (2021-04-09).
You'll use this command:
abp new Acme.BookStore -t app-pro --database-management-system oracle -csf --preview
@hitaspdotnet microservice project creation has been fixed.
To update your version to v4.3.x for both ABP CLI and ABP Suite run the following command
dotnet tool update -g Volo.Abp.Cli --version 4.3.0-rc.1
abp suite update --preview
or
Run this PowerShell script to update both the CLI and Suite to the latest including the preview versions.
v4.3 Preview ABP Framework Version Notes https://blog.abp.io/abp/ABP-Framework-4.3-RC-Has-Been-Published
v4.3 Preview ABP Commercial Version Notes https://blog.abp.io/abp/ABP-Commercial-4.3-RC-Has-Been-Published
From 4.x to 4.3 Migration Guide https://docs.abp.io/en/commercial/4.3/migration-guides/v4_3
@ilitzy your template pls? blazor, mvc, angular.
@murat.yuceer 4.3 RC deployment is still ongoing so some packages maybe still in publish phase.
My previous code will also not work in your case. I'll explain the structure, why it doesn't work as you expect and what you can do for a solution;
The below code executes InsertAsync
method with saveChanges=false
. This means the entity org
will be set as inserted record to the EF Core tracking system. At this point no real insert operation is done. So you'll leave the method without getting any exception because still no database operations has been done. Right after you leave the method, the framework calls SaveChanges
method of the EF Core's DbContext class. It discovers any changes to the entity instances and applies to the database. And you get exception at this point. But you already left the try-catch block and HTTP-500: An internal error occured
exception will be thrown to the UI.
public async Task AddOrganizationAsync(Organization org)
{
try
{
await _organizationRepository.InsertAsync(org, false);
}
catch (DbUpdateException ex) {
throw new MyCustomException(ex.Message, "2601");
}
}
If you want to catch the exception in a try-catch block you need to save the changes before leaving the try-catch block.
If you have several database operations you can call SaveChanges
one time when you finish all the database operations.
public async Task AddOrganizationAsync(Organization org)
{
try
{
await _organizationRepository.InsertAsync(org, false);
await _organizationMemberRepository.InsertAsync(org.Members, false);
await _organizationInvoices.UpdateAsync(org.Invoices, false);
await _organizationStatistics.DeleteAsync(org.DeletedSomeId);
//and other DB operations...
//apply changes to the database, you can handle exception at this point
await UnitOfWorkManager.Current.SaveChangesAsync();
}
catch (DbUpdateException ex) {
throw new MyCustomException(ex.Message, "2601");
}
}
Documents:
I think the major issue has been resolved. can you create a new issue for your new problem.
all the existing ABP modules will automatically be updated but for your custom code, you still need to do that.
also you can execute abp.appPath = '~/'
or abp.appPath = /your-directory-name/
in a global javascript file.
you cannot make a navigation property to a remote service entity.
it violates the module's best practises.
each module has its own entities which should not be independant to another module entity.
if you need such requirement, you should duplicate the entity in your module.
eg:
I have abp.io websites and I have support.abp.io website and imagine these are 2 different modules. each are hosted on different servers with different databases. I have users in abp.io website's database and I want that users in support.abp.io. The solution is; creating a new entity SupportUser
in support.abp.io and sync it with distributed events. whenever a new user is created on abp.io then an event should be published to support.abp.io to create the same user there.
this is not a framework limitation but it's an architecure issue.