Hi,
Thank you for your helpful response regarding the EditUser page.
I just wanted to kindly let you know that the same issue also exists on the CreateUser page. If this hasn't been noticed yet, it might be worth reviewing and applying the same fix there as well.
Thanks for the update. Do you have an estimated release date for the 9.2 patch version?
However, in our case, we are using the built-in Identity module, and we did not implement the role listing or role assignment modal manually.
We are not manually encoding the data anywhere. Yet, Turkish characters such as "ç", "ö", "ı" are displayed in the Assign Roles Modal as HTML entities like ç, ö, etc.
Hello,
In our project role names that include Turkish characters such as "ç", "ö", "ı" are shown in the UI as HTML entities (e.g., ç, ö).
Example: The role name "Bahçıvan" appears as Bahçıvan in the role assignment modal.
But in the Roles page it looks like fine.
How can we solve this problem? Thanks.
Hi,
I finally found my mistake — it was all about using the correct namespace in the handler class. I was mistakenly using 'using Volo.Dependency;' instead of 'using Volo.Abp.DependencyInjection;'. It didn’t throw any errors, but it wasn’t working either. :)
If possible, could you please refund my ticket?
Thanks
Hi maliming,
It works in my test project, but not in my existing project that has been developed over time. I’m unable to share the main project itself, but I can provide the module configurations and other relevant settings.
Is there anyone who can help please?
I tried the same things in a new test project, and they worked correctly. Since I created the test project with version 8.2, there were no issues. However, the project I am currently working on has been upgraded from .NET 6. In your opinion, what could I be missing at this point?
Hi, I made a copy-paste mistake. My handler was actually:
public class RecurringJobCreatedOrUpdatedEventHandler : IDistributedEventHandler<RecurringJobCreatedOrUpdatedEto>, ITransientDependency { private readonly ILogger<RecurringJobCreatedOrUpdatedEventHandler> _logger;
public RecurringJobCreatedOrUpdatedEventHandler(ILogger<RecurringJobCreatedOrUpdatedEventHandler> logger)
{
_logger = logger;
}
public Task HandleEventAsync(RecurringJobCreatedOrUpdatedEto eventData)
{
_logger.LogInformation($"Event! JobId: {eventData.JobId}, JobName: {eventData.JobName}");
return Task.CompletedTask;
}
}
So the problem still persists.
Hi, I am trying to trigger an event in my project using DistributedEventBus and RabbitMQ, but I cannot catch the event on the Web side. I would like to explain what I have set up in each layer so you can help me understand if I'm missing something.
My project is MVC and Non-Tiered.
Application.Contracts Layer:
I have created a simple ETO (Event Transfer Object):
[EventName("RecurringJobCreatedOrUpdatedEto")]
public class RecurringJobCreatedOrUpdatedEto
{
public int JobId { get; set; }
public string JobName { get; set; }
}
Application Layer:
In my AppService, I am publishing the event:
private readonly IDistributedEventBus _distributedEventBus;
public RecurringJobsAppServiceBase(IDistributedEventBus distributedEventBus)
{
_distributedEventBus = distributedEventBus;
}
public virtual async Task<RecurringJobDto> UpdateAsync(int id, RecurringJobUpdateDto input)
{
var recurringJob = await _recurringJobManager.UpdateAsync(
id,
input.JobName, input.IsActive, input.CronExpression, input.ConcurrencyStamp
);
var eventData = new RecurringJobCreatedOrUpdatedEto
{
JobId = id,
JobName = input.JobName,
};
await _distributedEventBus.PublishAsync(eventData);
return ObjectMapper.Map<RecurringJob, RecurringJobDto>(recurringJob);
}
I did not make any changes to the ApplicationModule.
Web Layer:
I created a handler for the event:
public class RecurringJobCreatedOrUpdatedEventHandler : IDistributedEventHandler<RecurringJobCreatedOrUpdatedEto>, ITransientDependency
{
private readonly ILogger<RecurringJobCreatedOrUpdatedEventHandler> _logger;
public RecurringJobCreatedOrUpdatedEventHandler(ILogger<RecurringJobCreatedOrUpdatedEventHandler> logger)
{
_logger = logger;
}
public Task HandleEventAsync(RecurringJobCreatedOrUpdatedEto eventData)
{
_logger.LogInformation($"Event! JobId: {eventData.JobId}, JobName: {eventData.JobName}");
return Task.CompletedTask;
}
}
Inside WebModule, I did the following:
Added typeof(AbpEventBusRabbitMqModule) to the dependencies.
In ConfigureServices, I wrote:
context.Services.AddAssemblyOf<RecurringJobCreatedOrUpdatedEventHandler>();
Configure<AbpDistributedEntityEventOptions>(options =>
{
options.AutoEventSelectors.AddAll();
});
appsettings.json Configuration:
"EventBus": {
"UseRabbitMq": true
},
"RabbitMQ": {
"Connections": {
"Default": {
"HostName": "localhost",
"UserName": "myuser",
"Password": "1q2w3E*",
"Port": "5672"
}
},
"EventBus": {
"ClientName": "TEST_Web",
"ExchangeName": "TESTExchange"
}
}
I am sure my rabbitmq is working. when i publish exchange is changing
Problem: The event is successfully published, but the handler in the Web layer is not triggered, and the event is not being caught.
Thank you in advance for your help!