But it's been suggested here that I not use the connection name string, but rather use the full namespace and Interface class name to resolve this issue.
Sorry, I never recommend that you use full namespaces, you should always use constants.
It works for me.
[Dependency(ReplaceServices = true)]
[ExposeServices(typeof(IConnectionStringResolver))]
public class MyMultiTenantConnectionStringResolver : MultiTenantConnectionStringResolver
{
private readonly ICurrentTenant _currentTenant;
public MyMultiTenantConnectionStringResolver(
IOptionsSnapshot<AbpDbConnectionOptions> options,
ICurrentTenant currentTenant,
IServiceProvider serviceProvider) : base(options, currentTenant, serviceProvider)
{
_currentTenant = currentTenant;
}
public override async Task<string> ResolveAsync(string connectionStringName = null)
{
if (_currentTenant.IsAvailable)
{
switch (connectionStringName)
{
case AbpPermissionManagementDbProperties.ConnectionStringName:
using (_currentTenant.Change(null))
{
var connectionString = await base.ResolveAsync(connectionStringName);
return connectionString;
}
//.........
}
}
return await base.ResolveAsync(connectionStringName);
}
}
Hi,
if module CRM work with MSSQL and E-Com with MongoDb is it possibile?
No problem, because modules are independent,you can deploy them separately.
in terms of performance I need to use a SQL Statement if have more module on same DB arch I can exceute that query but if not on same DB, exist a way to sync data from different module?
Module should be responsible for its database query, you should not access the database across modules. you should access the module data via HTTP API. see: https://docs.abp.io/en/abp/latest/API/Dynamic-CSharp-API-Clients
in case of use MongoDb can I use dynamic object to map object db?
There is no official solution, you can try search on google: https://www.google.com/search?q=mongodb+c#+dynamic+object But we do not recommend using dynamic objects.
You can check the microservice template, It suits your case. https://docs.abp.io/en/commercial/latest/startup-templates/module/index
I have no experience at ABP development
You can read the ABP document first: https://docs.abp.io/en/abp/latest, it will help you to understand ABP framework.
Hi,
We have an exmaple: https://github.com/abpframework/abp-samples/tree/master/BookStore-Modular
Hi,
I reproduced this problem using VS 2022, but it is a random occurrence. I have no idea yet, but I will continue to investigate
This problem does not occur with dotnet run
command or Rider
.
Can you try use dotnet run
to test it?
Hi,
Can you check this: https://github.com/abpframework/abp/issues/8289?
Hi,
You can use the network path. see: https://docs.microsoft.com/en-us/dotnet/standard/io/file-path-formats#unc-paths
Hi,
.web
and angular
are for admins. only web.public
for users
Hi,
You can custom, replace or delete styles if you need.
See:https://docs.abp.io/en/abp/latest/UI/AspNetCore/Bundling-Minification#bundle-contributors
For example:
public class MyStyleContributor : BundleContributor
{
public override async Task ConfigureBundleAsync(BundleConfigurationContext context)
{
context.Files.RemoveAll(x => x.Contains("blazorise.bootstrap.css"));
context.Files.ReplaceOne("/libs/css/a.css","/lib/css/b.css");
context.Files.Add("/lib/css/my.css");
}
}
Configure<AbpBundlingOptions>(options =>
{
options
.StyleBundles
.Add(BlazorLeptonThemeBundles.Styles.Global, bundle =>
{
bundle
.AddBaseBundles(BlazorStandardBundles.Styles.Global)
.AddContributors(typeof(MyStyleContributor));
});
});
You should use CSS isolation for your own components
Just want to know if abp allow to do this own module.
Of course you can,modularity is the core feature of ABP