I need to customize the PermissionManagement page. I want the elements I've circled to be collapsible under the CRM section. I couldn't find the relevant modal in the source code. How can I make this kind of customization?
Hello, I read this topic We need to ensure that a transaction starts when a Unit of Work (UOW) begins, with strict handling of concurrent user access. For example, in the provided code snippet, when an admin initiates a Unit of Work, other users should be forced to wait until the transaction completes.
using (var uow = _unitOfWorkManager.Begin(requiresNew:true,isTransactional:true, isolationLevel: System.Data.IsolationLevel.ReadUncommitted))
{
try
{
MusteriNumarasiNumarator musteriNumarasiNumarator = await _musteriNumarasiNumaratorManager.CreateAsync();
if( _currentUser.Name == "admin")
{
await Task.Delay(10000);
//throw new UserFriendlyException("hata");
}
var gercekKisi = new GercekKisi(
GuidGenerator.Create()
);
GercekKisi insertGercekKisi = await _gercekKisiRepository.InsertAsync(gercekKisi);
await uow.CompleteAsync();
return insertGercekKisi;
}
catch (Exception)
{
throw;
}
}
The code uses a UnitOfWorkManager to start a transactional Unit of Work with the isolation level set to ReadUncommitted. This setup ensures that the database transaction begins properly. However, we want to implement a mechanism where if the current user is "admin," the system should delay the transaction, potentially causing other users to wait. In the current state, this delay is simulated by a Task.Delay call.
How can we enforce that other users are blocked from accessing this method while the admin’s transaction is still in progress, ensuring that only one user can execute this Unit of Work at a time?
So, if we set this value to a duration like 5-10 seconds, what kind of load would it put on the system?
thanks
we are using LeptonX
<Project Sdk="Microsoft.NET.Sdk.Web">
<Import Project="..\..\common.props" />
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<Nullable>enable</Nullable>
<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
<RootNamespace>MyBankStore.Web</RootNamespace>
<AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
<GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
<MvcRazorExcludeRefAssembliesFromPublish>false</MvcRazorExcludeRefAssembliesFromPublish>
<PreserveCompilationReferences>true</PreserveCompilationReferences>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.SignalR.Common" Version="8.0.4" />
<PackageReference Include="Serilog.AspNetCore" Version="8.0.0" />
<PackageReference Include="Serilog.Sinks.Async" Version="1.5.0" />
<PackageReference Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="8.0.1" />
<PackageReference Include="DistributedLock.Redis" Version="1.0.2" />
<PackageReference Include="System.Private.ServiceModel" Version="4.10.3" /> <PackageReference Include="Volo.Abp.AspNetCore.SignalR" Version="8.2.2" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Volo.Abp.Autofac" Version="8.2.2" />
<PackageReference Include="Volo.Abp.AspNetCore.Serilog" Version="8.2.2" />
<PackageReference Include="Volo.Abp.Caching.StackExchangeRedis" Version="8.2.2" />
<PackageReference Include="Volo.Abp.DistributedLocking" Version="8.2.2" />
<PackageReference Include="Volo.Abp.AspNetCore.Mvc.Client" Version="8.2.2" />
<PackageReference Include="Volo.Abp.EventBus.RabbitMQ" Version="8.2.2" />
<PackageReference Include="Volo.Abp.Http.Client.IdentityModel.Web" Version="8.2.2" />
<PackageReference Include="Volo.Abp.Http.Client.Web" Version="8.2.2" />
<PackageReference Include="Volo.Abp.Swashbuckle" Version="8.2.2" />
<PackageReference Include="Volo.Abp.FeatureManagement.Web" Version="8.2.2" />
<PackageReference Include="Volo.Abp.AuditLogging.Web" Version="8.2.2" />
<PackageReference Include="Volo.Abp.Identity.Pro.Web" Version="8.2.2" />
<PackageReference Include="Volo.Abp.Account.Pro.Admin.Web" Version="8.2.2" />
<PackageReference Include="Volo.Abp.Account.Pro.Public.Web.Impersonation" Version="8.2.2" />
<PackageReference Include="Volo.Abp.Account.Pro.Public.Web.Shared" Version="8.2.2" />
<PackageReference Include="Volo.Abp.OpenIddict.Pro.Web" Version="8.2.2" />
<PackageReference Include="Volo.Abp.LanguageManagement.Web" Version="8.2.2" />
<PackageReference Include="Volo.Saas.Host.Web" Version="8.2.2" />
<PackageReference Include="Volo.Abp.TextTemplateManagement.Web" Version="8.2.2" />
<PackageReference Include="Volo.Abp.Gdpr.Web" Version="8.2.2" />
<ProjectReference Include="..\BlaBla.HttpApi.Client\BlaBla.HttpApi.Client.csproj" />
<ProjectReference Include="..\BlaBla.HttpApi\BlaBla.HttpApi.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonX" Version="3.2.0" />
</ItemGroup>
<ItemGroup>
<Compile Remove="Logs\**" />
<Compile Remove="Pages\Deneme\**" />
<Content Remove="Logs\**" />
<Content Remove="Pages\Deneme\**" />
<EmbeddedResource Remove="Logs\**" />
<EmbeddedResource Remove="Pages\Deneme\**" />
<None Remove="Logs\**" />
<None Remove="Pages\Deneme\**" />
</ItemGroup>
<ItemGroup>
<Content Include="Pages\**\*.js">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="Pages\**\*.css">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<None Remove="Themes\LeptonX\Global\side-menu\css\dark.css" />
<None Remove="Themes\LeptonX\Global\side-menu\css\dim.css" />
<None Remove="Themes\LeptonX\Global\side-menu\css\light.css" />
</ItemGroup>
<ItemGroup>
<Content Include="Themes\LeptonX\Global\side-menu\css\dark.css">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="Themes\LeptonX\Global\side-menu\css\dim.css">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="Themes\LeptonX\Global\side-menu\css\light.css">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemGroup>
</Project>
When we press the revoke button for the relevant user's session from the admin panel, it takes up to 1-2 minute for the user to be logged out.
Hello, when I click on the related user's session and revoke the account, it takes some time. How can we adjust this cache timeout issue?
Hello, thank you for your response
Currently, when the 'Contact' entity is in the same database and tablespace, everything works fine. However, we need to use a separate tablespace for this entity (module). When I create a different tablespace and attempt to use this entity in linq, I encounter the following error:
'Cannot use multiple context instances within a single query execution. Ensure the query uses a single context instance.' System.InvalidOperationException: 'Cannot use multiple context instances within a single query execution. Ensure the query uses a single context instance.
I did some research, and they say it doesn't work with different tablespaces or databases in one linq. I want to make sure that it also doesn't work in the ABP framework.
I completed all of these. If you want, I can share the github repo with you.
https://blog.antosubash.com/posts/abp-add-new-module-with-seperate-db
Our requirement is this: we have a large project with separate CRM and ERP modules, each with its own database. I want to use these modules' DbContexts in my central application, but we couldn't connect two different DbContexts in the same LINQ query. However, a YouTube video suggests it's possible. How can this be achieved?