abp generate-proxy -t csharp -u https://localhost:44395/ -m globalService
The API description of the CmvPoint.GlobalService.Controllers.IDataReferenceAppService.GetNextReferenceIdAsync method was not found!
Even trying to change the configuration on the client module using AddStaticHttpClientProxies
and AddHttpClientProxies
isn't working.
ABP Framework version: v7.0.1
UI type: Blazor Server
DB provider: EF Core
Project Template: Microservice
Steps to reproduce the issue:"
Exception message and stack trace: [08:14:01 FTL] Dummy.AdministrationService.HttpApi.Host terminated unexpectedly! System.IO.FileNotFoundException: Could not load file or assembly 'Volo.Abp.Commercial.SuiteTemplates, Version=7.0.1.0, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.
File name: 'Volo.Abp.Commercial.SuiteTemplates, Version=7.0.1.0, Culture=neutral, PublicKeyToken=null'
public interface IReferenceObject{
string ReferenceId {get;}
}
public class Book : FullAuditedAggregateRoot<Guid>, IReferenceObject{
public Book(Guid id, string referenceId){
Id = id;
ReferenceId = referenceId;
}
public string ReferenceId { get; }
public string Title { get; set; }
}
My goal is to subscribe on create event to every entities that inherits the IReferenceObject
.
I read the documentation here https://docs.abp.io/en/abp/latest/Local-Event-Bus#pre-built-events and tried this:
public class ReferenceObjectEventHandler : ILocalEventHandler<EntityCreatedEventData<IReferenceObject>>, ITransientDependency
{
public async Task HandleEventAsync(EntityCreatedEventData<IReferenceObject> eventData)
{
Console.WriteLine($"Created an entity with reference id {eventData.Entity.ReferenceId}");
}
}
But it's not working..any suggestion?
Hi, you can try this:
Install the DevExpress.Xpo.EFCore NuGet package in your project. Create a class that inherits from the DevExpress.Xpo.XpoDbContext base class, this class represents the database context.
public class MyDbContext : XpoDbContext
{
public MyDbContext(DbContextOptions<MyDbContext> options)
: base(options)
{
}
}
Create entity:
[Persistent("MyEntity")]
public class MyEntity : XPLiteObject
{
[Key]
[Persistent("MyId")]
public int MyId { get; set; }
[Persistent("MyProperty")]
public string MyProperty { get; set; }
}
If your model has relationship you can refer to this article: https://docs.devexpress.com/eXpressAppFramework/402958/business-model-design-orm/business-model-design-with-entity-framework-core/relationships-between-entities-in-code-and-ui
Register the dbcontext and XpoDbContextOption in your module and define your custom repository:
public interface IMyEntityRepository: IRepository<MyEntity >
{
Task<List<MyEntity>> GetListAsync(
string filterText = null,
string sorting = null,
int maxResultCount = int.MaxValue,
int skipCount = 0,
CancellationToken cancellationToken = default);
}
public class MyEntityRepository: EfCoreRepository<MyDbContext, MyEntity >, IMyEntityRepository
{
public async Task<List<MyEntity>> GetListAsync(string filterText = null, string sorting = null,
int maxResultCount = int.MaxValue, int skipCount = 0, CancellationToken cancellationToken = default)
{
var query = await GetQueryableAsync();
query = query
.WhereIf(filterText != null, d => d.Name.Contains(filterText))
.OrderBy(string.IsNullOrWhiteSpace(sorting) ? MyEntityConsts.GetDefaultSorting(false) : sorting);
return await query.PageBy(skipCount, maxResultCount).ToListAsync(cancellationToken);
}
}
[DependsOn(typeof(AbpEfCoreModule))]
public class MyModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
context.Services.AddAbpDbContext<MyDbContext>(options =>
{
options.AddDefaultRepositories();
options.AddRepository<IMyEntityRepository, MyEntityRepository>();
});
}
}
In your application service module you can:
public class MyService : ApplicationService
{
private readonly IMyEntityRepository _myEntityRepository;
public MyService(IMyEntityRepository myEntityRepository)
{
_myEntityRepository = myEntityRepository;
}
public async Task<MyEntity> GetAsync(int id)
{
return await _myEntityRepository.FirstOrDefaultAsync(x => x.MyId == id);
}
}
Hi,
I'm a bit disappointed that we have purchased commercial but could not get a response from support. I think no one is interested in this since XPO is a product of devexpress which I assume a competitor. Hope this ticket will be refunded, I only have few remaining support tickets for commercial license :(.
Hi,
Would just like to know if know all the crucial parts in data layer that will be affected by integrating devexpress xpo orm. I compared and found that the xpo and abp efcore has different parts that might have conflicts while integrating xpo:
Would be glad for assistance integrating xpo orm on abp.
Hi,
It's been 5 days no response. Just wanted to know if this task was possible if not can I ask refund for this ticket? I'll just do research on my own.
I agree with it loading full of errors. My application is not even opening. Can you respond please?
Hi,
what are your error saying? The performance issue was initially suspected as related to redis server and we're investigating if it was really related to redis server or issue from the code.
Hi,
Any help how can I achieve adding another 2FA verification provider in abp framework? I'm about to add DUO universal prompt from their web sdk like the sample here in github: https://github.com/duosecurity/duo_universal_csharp/tree/main/DuoUniversal.Example Add it as an added layer for authentication, I want to add logic like show only duo 2fa if user login for the first time or the 2fa token expires.
Hi,
I sent an email.