I have added code
Configure<AbpClockOptions>(options => { options.Kind = DateTimeKind.Utc; // Ensure backend saves in UTC });
in my ProjectModule.cs
my Project Configuration Is
- Template: app-nolayers
after this i have given permission to roles we have . now i suppose to get Timezone drop down so that we can save timezone with User? Or it will work by default based on User browser time zone?
Can you please explain about this?
we need to save datetime data in UTC but based on user time zone or Browser timezone the datetime data should present on UI accordingly.
Hi, I am trying to run ElsaDemoApp downloaded from documentation, i intalled Rabitq service and its running. But when trying to run application i am getting error in server.exe
RabbitMQ.Client.Exceptions.BrokerUnreachableException: None of the specified endpoints were reachable ---> System.AggregateException: One or more errors occurred. (Connection failed, host 127.0.0.1:5672) ---> RabbitMQ.Client.Exceptions.ConnectFailureException: Connection failed, host 127.0.0.1:5672 ---> System.Net.Sockets.SocketException (10061): No connection could be made because the target machine actively refused it. at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken) at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token) at System.Threading.Tasks.ValueTask.ValueTaskSourceAsTask.<>c.<.cctor>b__4_0(Object state) --- End of stack trace from previous location --- at RabbitMQ.Client.Impl.SocketFactory.ConnectUsingAddressFamilyAsync(IPEndPoint endpoint, Func
2 socketFactory, AddressFamily family, TimeSpan connectionTimeout, CancellationToken cancellationToken) --- End of inner exception stack trace --- at RabbitMQ.Client.Impl.SocketFactory.ConnectUsingAddressFamilyAsync(IPEndPoint endpoint, Func2 socketFactory, AddressFamily family, TimeSpan connectionTimeout, CancellationToken cancellationToken) at RabbitMQ.Client.Impl.SocketFactory.OpenAsync(AmqpTcpEndpoint amqpTcpEndpoint, Func2 socketFactory, TimeSpan connectionTimeout, CancellationToken cancellationToken) at RabbitMQ.Client.Impl.SocketFrameHandler.CreateAsync(AmqpTcpEndpoint amqpTcpEndpoint, Func2 socketFactory, TimeSpan connectionTimeout, CancellationToken cancellationToken) at RabbitMQ.Client.ConnectionFactory.CreateFrameHandlerAsync(AmqpTcpEndpoint endpoint, CancellationToken cancellationToken) at RabbitMQ.Client.EndpointResolverExtensions.SelectOneAsync[T](IEndpointResolver resolver, Func3 selector, CancellationToken cancellationToken) --- End of inner exception stack trace --- at RabbitMQ.Client.EndpointResolverExtensions.SelectOneAsync[T](IEndpointResolver resolver, Func3 selector, CancellationToken cancellationToken) at RabbitMQ.Client.ConnectionFactory.CreateConnectionAsync(IEndpointResolver endpointResolver, String clientProvidedName, CancellationToken cancellationToken) --- End of inner exception stack trace --- at RabbitMQ.Client.ConnectionFactory.CreateConnectionAsync(IEndpointResolver endpointResolver, String clientProvidedName, CancellationToken cancellationToken) at Volo.Abp.RabbitMQ.ConnectionPool.GetConnectionAsync(String connectionName, ConnectionFactory connectionFactory) at Volo.Abp.RabbitMQ.ConnectionPool.GetAsync(String connectionName) at Volo.Abp.RabbitMQ.RabbitMqMessageConsumer.TryCreateChannelAsync() [16:04:22 INF] Initialized all ABP modules. [16:04:22 INF] Starting ElsaDemoApp. [16:04:30 ERR] The message timed out in the backlog attempting to send because no connection became available (5000ms) - Last Connection Exception: UnableToConnect on 127.0.0.1:6379/Interactive, Initializing/NotStarted, last: NONE, origin: BeginConnectAsync, outstanding: 0, last-read: 2s ago, last-write: 2s ago, keep-alive: 60s, state: Connecting, mgr: 10 of 10 available, last-heartbeat: never, global: 2s ago, v: 2.7.27.49176, command=HMGET, timeout: 5000, inst: 0, qu: 1, qs: 0, aw: False, bw: CheckingForTimeout, rs: NotStarted, ws: Idle, in: 0, last-in: 0, cur-in: 0, sync-ops: 0, async-ops: 3, serverEndpoint: 127.0.0.1:6379, conn-sec: n/a, aoc: 0, mc: 1/1/0, mgr: 10 of 10 available, clientName: VBI-VDI-00HK(SE.Redis-v2.7.27.49176), IOCP: (Busy=0,Free=1000,Min=1,Max=1000), WORKER: (Busy=2,Free=32765,Min=8,Max=32767), POOL: (Threads=7,QueuedItems=0,CompletedItems=164,Timers=7), v: 2.7.27.49176 (Please take a look at this article for some common client-side issues that can cause timeouts: https://stackexchange.github.io/StackExchange.Redis/Timeouts) StackExchange.Redis.RedisConnectionException: The message timed out in the backlog attempting to send because no connection became available (5000ms) - Last Connection Exception: UnableToConnect on 127.0.0.1:6379/Interactive, Initializing/NotStarted, last: NONE, origin: BeginConnectAsync, outstanding: 0, last-read: 2s ago, last-write: 2s ago, keep-alive: 60s, state: Connecting, mgr: 10 of 10 available, last-heartbeat: never, global: 2s ago, v: 2.7.27.49176, command=HMGET, timeout: 5000, inst: 0, qu: 1, qs: 0, aw: False, bw: CheckingForTimeout, rs: NotStarted, ws: Idle, in: 0, last-in: 0, cur-in: 0, sync-ops: 0, async-ops: 3, serverEndpoint: 127.0.0.1:6379, conn-sec: n/a, aoc: 0, mc: 1/1/0, mgr: 10 of 10 available, clientName: VBI-VDI-00HK(SE.Redis-v2.7.27.49176), IOCP: (Busy=0,Free=1000,Min=1,Max=1000), WORKER: (Busy=2,Free=32765,Min=8,Max=32767), POOL: (Threads=7,QueuedItems=0,CompletedItems=164,Timers=7), v: 2.7.27.49176 (Please take a look at this article for some common client-side issues that can cause timeouts: https://stackexchange.github.io/StackExchange.Redis/Timeouts) ---> StackExchange.Redis.RedisConnectionException: UnableToConnect on 127.0.0.1:6379/Interactive, Initializing/NotStarted, last: NONE, origin: BeginConnectAsync, outstanding: 0, last-read: 2s ago, last-write: 2s ago, keep-alive: 60s, state: Connecting, mgr: 10 of 10 available, last-heartbeat: never, global: 2s ago, v: 2.7.27.49176 --- End of inner exception stack trace --- at Microsoft.Extensions.Caching.StackExchangeRedis.RedisCache.GetAndRefreshAsync(String key, Boolean getData, CancellationToken token) at Microsoft.Extensions.Caching.StackExchangeRedis.RedisCache.GetAsync(String key, CancellationToken token) at Microsoft.Extensions.Caching.Distributed.DistributedCacheExtensions.GetStringAsync(IDistributedCache cache, String key, CancellationToken token) at Volo.Abp.FeatureManagement.StaticFeatureSaver.SaveAsync() at Volo.Abp.FeatureManagement.StaticFeatureSaver.SaveAsync() at Volo.Abp.FeatureManagement.FeatureDynamicInitializer.<>c__DisplayClass10_0.<<SaveStaticFeaturesToDatabaseAsync>b__1>d.MoveNext() --- End of stack trace from previous location --- at Polly.AsyncPolicy.<>c__DisplayClass44_0.<<ImplementationAsync>b__0>d.MoveNext() --- End of stack trace from previous location --- at Polly.Retry.AsyncRetryEngine.ImplementationAsync[TResult](Func3 action, Context context, ExceptionPredicates shouldRetryExceptionPredicates, ResultPredicates1 shouldRetryResultPredicates, Func5 onRetryAsync, CancellationToken cancellationToken, Int32 permittedRetryCount, IEnumerable1 sleepDurationsEnumerable, Func4 sleepDurationProvider, Boolean continueOnCapturedContext) [16:04:30 ERR] The message timed out in the backlog attempting to send because no connection became available (5000ms) - Last Connection Exception: UnableToConnect on 127.0.0.1:6379/Interactive, Initializing/NotStarted, last: NONE, origin: BeginConnectAsync, outstanding: 0, last-read: 2s ago, last-write: 2s ago, keep-alive: 60s, state: Connecting, mgr: 10 of 10 available, last-heartbeat: never, global: 2s ago, v: 2.7.27.49176, command=HMGET, timeout: 5000, inst: 0, qu: 0, qs: 0, aw: False, bw: CheckingForTimeout, rs: NotStarted, ws: Idle, in: 0, last-in: 0, cur-in: 0, sync-ops: 0, async-ops: 3, serverEndpoint: 127.0.0.1:6379, conn-sec: n/a, aoc: 0, mc: 1/1/0, mgr: 10 of 10 available, clientName: VBI-VDI-00HK(SE.Redis-v2.7.27.49176), IOCP: (Busy=0,Free=1000,Min=1,Max=1000), WORKER: (Busy=3,Free=32764,Min=8,Max=32767), POOL: (Threads=7,QueuedItems=0,CompletedItems=164,Timers=7), v: 2.7.27.49176 (Please take a look at this article for some common client-side issues that can cause timeouts: https://stackexchange.github.io/StackExchange.Redis/Timeouts) StackExchange.Redis.RedisConnectionException: The message timed out in the backlog attempting to send because no connection became available (5000ms) - Last Connection Exception: UnableToConnect on 127.0.0.1:6379/Interactive, Initializing/NotStarted, last: NONE, origin: BeginConnectAsync, outstanding: 0, last-read: 2s ago, last-write: 2s ago, keep-alive: 60s, state: Connecting, mgr: 10 of 10 available, last-heartbeat: never, global: 2s ago, v: 2.7.27.49176, command=HMGET, timeout: 5000, inst: 0, qu: 0, qs: 0, aw: False, bw: CheckingForTimeout, rs: NotStarted, ws: Idle, in: 0, last-in: 0, cur-in: 0, sync-ops: 0, async-ops: 3, serverEndpoint: 127.0.0.1:6379, conn-sec: n/a, aoc: 0, mc: 1/1/0, mgr: 10 of 10 available, clientName: VBI-VDI-00HK(SE.Redis-v2.7.27.49176), IOCP: (Busy=0,Free=1000,Min=1,Max=1000), WORKER: (Busy=3,Free=32764,Min=8,Max=32767), POOL: (Threads=7,QueuedItems=0,CompletedItems=164,Timers=7), v: 2.7.27.49176 (Please take a look at this article for some common client-side issues that can cause timeouts: https://stackexchange.github.io/StackExchange.Redis/Timeouts) ---> StackExchange.Redis.RedisConnectionException: UnableToConnect on 127.0.0.1:6379/Interactive, Initializing/NotStarted, last: NONE, origin: BeginConnectAsync, outstanding: 0, last-read: 2s ago, last-write: 2s ago, keep-alive: 60s, state: Connecting, mgr: 10 of 10 available, last-heartbeat: never, global: 2s ago, v: 2.7.27.49176 --- End of inner exception stack trace --- at Microsoft.Extensions.Caching.StackExchangeRedis.RedisCache.GetAndRefreshAsync(String key, Boolean getData, CancellationToken token) at Microsoft.Extensions.Caching.StackExchangeRedis.RedisCache.GetAsync(String key, CancellationToken token) at Microsoft.Extensions.Caching.Distributed.DistributedCacheExtensions.GetStringAsync(IDistributedCache cache, String key, CancellationToken token) at Volo.Abp.PermissionManagement.StaticPermissionSaver.SaveAsync() at Volo.Abp.PermissionManagement.StaticPermissionSaver.SaveAsync() at Volo.Abp.PermissionManagement.PermissionDynamicInitializer.<>c__DisplayClass10_0.<<SaveStaticPermissionsToDatabaseAsync>b__1>d.MoveNext() --- End of stack trace from previous location --- at Polly.AsyncPolicy.<>c__DisplayClass44_0.<<ImplementationAsync>b__0>d.MoveNext() --- End of stack trace from previous location --- at Polly.Retry.AsyncRetryEngine.ImplementationAsync[TResult](Func3 action, Context context, ExceptionPredicates shouldRetryExceptionPredicates, ResultPredicates1 shouldRetryResultPredicates, Func5 onRetryAsync, CancellationToken cancellationToken, Int32 permittedRetryCount, IEnumerable1 sleepDurationsEnumerable, Func4 sleepDurationProvider, Boolean continueOnCapturedContext) [16:04:30 ERR] ---------- Exception Data ---------- Redis-Message = HMGET _ElsaDemoApp.Server_AbpPermissionsHash Redis-Timeout = 5000 Redis-OpsSinceLastHeartbeat = 0 Redis-Queue-Awaiting-Write = 0 Redis-Queue-Awaiting-Response = 0 Redis-Active-Writer = False Redis-Backlog-Writer = CheckingForTimeout Redis-Read-State = NotStarted Redis-Write-State = Idle Redis-Inbound-Bytes = 0 Redis-Last-Result-Bytes = 0 Redis-Inbound-Buffer-Bytes = 0 Redis-Sync-Ops = 0 Redis-Async-Ops = 3 Redis-Server-Endpoint = 127.0.0.1:6379 Redis-Server-Connected-Seconds = n/a Redis-Abort-On-Connect = 0 Redis-Multiplexer-Connects = 1/1/0 Redis-Manager = 10 of 10 available Redis-Client-Name = VBI-VDI-00HK(SE.Redis-v2.7.27.49176) Redis-ThreadPool-IO-Completion = (Busy=0,Free=1000,Min=1,Max=1000) Redis-ThreadPool-Workers = (Busy=3,Free=32764,Min=8,Max=32767) Redis-ThreadPool-Items = (Threads=7,QueuedItems=0,CompletedItems=164,Timers=7) Redis-Busy-Workers = 3 Redis-Version = 2.7.27.49176 redis-command = HMGET _ElsaDemoApp.Server_AbpPermissionsHash request-sent-status = WaitingInBacklog redis-server = 127.0.0.1:6379
[16:04:30 ERR] ---------- Exception Data ---------- Redis-Message = HMGET _ElsaDemoApp.Server_AbpFeaturesHash Redis-Timeout = 5000 Redis-OpsSinceLastHeartbeat = 0 Redis-Queue-Awaiting-Write = 1 Redis-Queue-Awaiting-Response = 0 Redis-Active-Writer = False Redis-Backlog-Writer = CheckingForTimeout Redis-Read-State = NotStarted Redis-Write-State = Idle Redis-Inbound-Bytes = 0 Redis-Last-Result-Bytes = 0 Redis-Inbound-Buffer-Bytes = 0 Redis-Sync-Ops = 0 Redis-Async-Ops = 3 Redis-Server-Endpoint = 127.0.0.1:6379 Redis-Server-Connected-Seconds = n/a Redis-Abort-On-Connect = 0 Redis-Multiplexer-Connects = 1/1/0 Redis-Manager = 10 of 10 available Redis-Client-Name = VBI-VDI-00HK(SE.Redis-v2.7.27.49176) Redis-ThreadPool-IO-Completion = (Busy=0,Free=1000,Min=1,Max=1000) Redis-ThreadPool-Workers = (Busy=2,Free=32765,Min=8,Max=32767) Redis-ThreadPool-Items = (Threads=7,QueuedItems=0,CompletedItems=164,Timers=7) Redis-Busy-Workers = 2 Redis-Version = 2.7.27.49176 redis-command = HMGET _ElsaDemoApp.Server_AbpFeaturesHash request-sent-status = WaitingInBacklog redis-server = 127.0.0.1:6379
Service is running checked PM> Get-Service -Name "RabbitMQ"
Status Name DisplayName
Running RabbitMQ RabbitMQ
PM>
I updated all the packages from nuget in downloaded project.
Can you help me with this so that i can run and understand the elsa module working.
The chat module currently does not provide a SignalR event for message deletion. Issue when upload attachments on the chat module: Endpoint: https://localhost:44371/api/app/chat-attachment/upload Payload: file (binary) Error Response: { "error": { "code": null, "message": "The data you have submitted has already been changed by another user. Discard your changes and try again.", "details": null, "data": null, "validationErrors": null } } When I delete multiple uploaded images and immediately try to upload the same images again at the same time, the API returns the error shown above. However, if I delete the images and then re-upload them one by one, the upload works correctly without any errors.
In our project we have implemented abp language module
We currently have an API to update existing language texts (/api/language-management/language-texts/{resourceName}/{cultureName}/{name}),
but there is no API available to create new language texts. can you please let me know how can we create new Language text from UI using the api.
Hi, I have downloaded Chat Source Code using command "abp get-source Volo.Chat" in project "Volo.Chat.Blazor.Server.Host" asking for "AbpLicenseCode" in file in file "AppSettings.json". I used "API Key " from Profile "My Organizations" section of ABP.IO. But ABP's license server is rejecting with ABP-LIC-0017.
Please suggest me how to Resolve this issue.
when i am running my project with Startup Project "Volo.Chat.Blazor.Server.Host", Its stopped in Program.cs File on Highlighted location "** await app.InitializeApplicationAsync();**" in below code
using System; using System.Threading.Tasks; using Microsoft.AspNetCore.Builder; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Serilog; using Serilog.Events;
namespace Volo.Chat.Blazor.Server.Host;
public class Program { public async static Task<int> Main(string[] args) { Log.Logger = new LoggerConfiguration() #if DEBUG .MinimumLevel.Debug() #else .MinimumLevel.Information() #endif .MinimumLevel.Override("Microsoft", LogEventLevel.Information) .MinimumLevel.Override("Microsoft.EntityFrameworkCore", LogEventLevel.Warning) .Enrich.FromLogContext() .WriteTo.Async(c => c.File("Logs/logs.txt")) #if DEBUG .WriteTo.Async(c => c.Console()) #endif .CreateLogger();
try
{
Log.Information("Starting web host.");
var builder = WebApplication.CreateBuilder(args);
builder.Host
.AddAppSettingsSecretsJson()
.UseAutofac()
.UseSerilog();
await builder.AddApplicationAsync<ChatBlazorHostModule>();
var app = builder.Build();
** await app.InitializeApplicationAsync();** await app.RunAsync(); return 0; } catch (Exception ex) { Log.Fatal(ex, "Host terminated unexpectedly!"); return 1; } finally { Log.CloseAndFlush(); } } }
In a modular monolith abp project we have added Chat and File management modules and both working fine. we have used sadcn template in UI with react , we don't have attachment option in chat module by default, we would like to have attachment option with chat and print screen image attach options in chat message window. How can we do that ?, please guide us.
Also please give suggestion on how can we attach any file against Entity , suppose we have Company Enity and i want to attach a company related documents with enity, is this possible here in abp framework project? Thanks
I have a scenario where we have a User table, and OfficeMaster, companymaster, Storemaster .
User A has rights for company 1, Office 1,3 and store 2,5,7 User B has rights for company 1,2 , Office 4 and store 9,10,11 User C has rights for Company 3.4 Office 1,4 and store 7,2,5
It is different than the Multitenancy Saas option you have.
Can you give me some clarity on if this is achievable, i have USerCompany, USerStore, Useroffice tables with this data. Basically we want a user to see only the data he needs. with this we also control the Options a user can choose from dropdowns, suppose User A is entering a CustomerOrder then he only sees company 1 in the Company dropdown. He has no idea of the other companies.
This functionality is important to stop exposing all the offices from a user needs to access just his offices.something which can work in the API's too - we are on the modern modular monolith option with React.js. Is there an easy way or a difficult way to achieve this.
Hi,
We are working on refactoring an Internal ERP system. previously written with Vb.net in XAF + devexpress. Now we want to adopt C# .net core + DDD best practices + ABP framework.
The project has approx 500 tables spread across 5 databases on 2 local servers on LAN. We can also put all the databases on one server. approx 80% are masters screens simple CRUD. but say around 20% screens have DENSE and complex designs which we shall be curating by hand.
On our Initial talk ABP sales suggested us "Start with ABP with a modular monolith project template. " and we tried a sample project from your site and agree that this is the way forward.
I am attaching the screenshots for this MODERN project + Modular Monolith.
The modular Monolith path takes us to React option only- which makes me think if we did not follow the process properly. And we feel we may miss Blazor part. We are not a Blazor fan but ABP site and examples talk too much about Blazor so we feel that Blazor may be very important. Since our background is different and we have a huge learning curve ahead of us for all the new stack except C# .net core we want to narrow down the things we should be following and learning.
We are also looking forward to use our projects API's in our existing mobile APP too. And the project UI may be used by users on Windows and Linux operating systems over any browser. I am wondering if you can share some insight about the type of project we should be setting up. Give us the best choice which should work for a long time in future.
Or guide us to documentation where we can read about the Project options. We are still in learning and Proof of conecpt phase clearing our doubts and understanding more about ABP framework.
thank you,
BP