Activities of "maliming"

: )

hi

You can upgrade both abp(8.2.1)&volo(8.2.1)&lepton(3.2.1) to latest.

hi

We have released the new leptonX packages.

Please upgrade it to latest(3.2.1) to fix the user avatar problem

Answer

hi

Please send an email to liming.ma@volosoft.com

I will share you the project.

Answer

hi

Do you have a DNS map on your local machine?

eg:

extranetapp.cinca.porc to 127.0.0.1

We have to get the DNS for the domain from inside and outside the container.

Answer

hi

Can you share a test project?

I will test it in my local docker.

liming.ma@volosoft.com

hi

Join again : )

https://us05web.zoom.us/j/84339905664?pwd=RbkuzUzEgIzn0sZUT2ia7Ne6IObWLU.1

hi

https://us05web.zoom.us/j/82128719932?pwd=NSkf1WcgITWWyrGKvgMw8xqrZnFaeC.1

hi

url: greentherm.app.localhost
templateUrl: https://{0}.app.localhost:44399

Try the code below:

[Dependency(ReplaceServices = true)]
[ExposeServices(typeof(IMultiTenantUrlProvider), typeof(MultiTenantUrlProvider))]
public class WebAssemblyMultiTenantUrlProvider : MultiTenantUrlProvider
{
    private readonly static string[] ProtocolPrefixes = ["http://", "https://"];

    protected NavigationManager NavigationManager { get; }
    protected ILogger<WebAssemblyMultiTenantUrlProvider> Logger { get; }

    public WebAssemblyMultiTenantUrlProvider(
        ICurrentTenant currentTenant,
        ITenantStore tenantStore,
        NavigationManager navigationManager,
        ILogger<WebAssemblyMultiTenantUrlProvider> logger)
        : base(currentTenant, tenantStore)
    {
        NavigationManager = navigationManager;
        Logger = logger;
    }

    public async override Task<string> GetUrlAsync(string templateUrl)
    {
        Logger.LogError("templateUrl: " + templateUrl); // https://{0}.app.localhost:44399

        if (!CurrentTenant.IsAvailable)
        {
            var absoluteUri = NavigationManager.ToAbsoluteUri(NavigationManager.Uri);
            var url = absoluteUri.Authority.RemovePostFix("/");
            Logger.LogError("url: " + url); // greentherm.app.localhost:44399
            
            var myTemplateUrl = templateUrl.RemovePreFix(ProtocolPrefixes).RemovePostFix("/");
            Logger.LogError("myTemplateUrl: " + url); // {0}.app.localhost:44399
            
            var extractResult = FormattedStringValueExtracter.Extract(url, myTemplateUrl, ignoreCase: true);
            if (extractResult.IsMatch)
            {
                var tenant = extractResult.Matches[0].Value; // should be greentherm
                Logger.LogError("tenant: " + tenant);
                
                var apiUrl = templateUrl.Replace("{0}", tenant);
                Logger.LogError("apiUrl: " + apiUrl); // https://greentherm.app.localhost:44399
                return apiUrl;
            }
            
            Logger.LogError("No match tenant found");
        }

        return await GetUrlAsync(templateUrl);
    }
}

Thanks.

hi

Please change "BaseUrl": "https://{{tenantName}}.safetyplus-dev.com" to "BaseUrl": "https://{0}.safetyplus-dev.com"

And try adding WebAssemblyMultiTenantUrlProvider to your blazer.client project and check the error messages in the browser console.

Thanks. I have refunded your ticket.

[Dependency(ReplaceServices = true)]
[ExposeServices(typeof(IMultiTenantUrlProvider), typeof(MultiTenantUrlProvider))]
public class WebAssemblyMultiTenantUrlProvider : MultiTenantUrlProvider
{
    private readonly static string[] ProtocolPrefixes = ["http://", "https://"];

    protected NavigationManager NavigationManager { get; }
    protected ILogger<WebAssemblyMultiTenantUrlProvider> Logger { get; }

    public WebAssemblyMultiTenantUrlProvider(
        ICurrentTenant currentTenant,
        ITenantStore tenantStore,
        NavigationManager navigationManager,
        ILogger<WebAssemblyMultiTenantUrlProvider> logger)
        : base(currentTenant, tenantStore)
    {
        NavigationManager = navigationManager;
        Logger = logger;
    }

    public async override Task<string> GetUrlAsync(string templateUrl)
    {
        Logger.LogError("templateUrl: " + templateUrl); // https://{0}.safetyplus-dev.com

        if (!CurrentTenant.IsAvailable)
        {
            var absoluteUri = NavigationManager.ToAbsoluteUri(NavigationManager.Uri);
            var url = absoluteUri.Host;
            Logger.LogError("url: " + url); // greentherm.safetyplus-dev.com

            var extractResult = FormattedStringValueExtracter.Extract(url, templateUrl, ignoreCase: true);
            if (extractResult.IsMatch)
            {
                var tenant = extractResult.Matches[0].Value; // should be greentherm
                Logger.LogError("tenant: " + tenant);
                
                var apiUrl = templateUrl.Replace("{0}", tenant);
                Logger.LogError("apiUrl: " + apiUrl); // https://greentherm.safetyplus-dev.com
                return apiUrl;
            }

            Logger.LogError("No match tenant found");
        }

        return await GetUrlAsync(templateUrl);
    }
}

Showing 5731 to 5740 of 12934 entries
Boost Your Development
ABP Live Training
Packages
See Trainings
Mastering ABP Framework Book
The Official Guide
Mastering
ABP Framework
Learn More
Mastering ABP Framework Book
Made with ❤️ on ABP v10.8.0-preview. Updated on November 11, 2026, 08:10
1
ABP Assistant
🔐 You need to be logged in to use the chatbot. Please log in first.