Activities of "Teknosol"

Actually this url is registered in OpenIddictApplications table. When I want to authorize in Swagger, I get this error when I type tenant. If I don't type tenant, I can log in successfully. This problem didn't happen in abp 7.1.1 version, it happened when I upgraded to 9.

Thanks for your answer Liang, now the project is opening. But the error has changed to another type. I am doing remote service via gateway using MyMvcCachedApplicationConfigurationClient. The API that does remote service has abp9 version and Identity service now works on abp9. When I log in with tenant, I get the following error. Can you support me for this?

The error occurs while the GetAsync method is returning.

` [ExposeServices(typeof(ICachedApplicationConfigurationClient))] public class MyMvcCachedApplicationConfigurationClient : ICachedApplicationConfigurationClient, ITransientDependency { protected IHttpContextAccessor HttpContextAccessor { get; } protected AbpApplicationConfigurationClientProxy ApplicationConfigurationAppService { get; } protected AbpApplicationLocalizationClientProxy ApplicationLocalizationClientProxy { get; } protected ICurrentUser CurrentUser { get; } protected IDistributedCache

 public MyMvcCachedApplicationConfigurationClient(
     IDistributedCache<ApplicationConfigurationDto> cache,
     AbpApplicationConfigurationClientProxy applicationConfigurationAppService,
     ICurrentUser currentUser,
     IHttpContextAccessor httpContextAccessor,
     AbpApplicationLocalizationClientProxy applicationLocalizationClientProxy)
 {
     ApplicationConfigurationAppService = applicationConfigurationAppService;
     CurrentUser = currentUser;
     HttpContextAccessor = httpContextAccessor;
     ApplicationLocalizationClientProxy = applicationLocalizationClientProxy;
     Cache = cache;

 }

 public async Task<ApplicationConfigurationDto> GetAsync()
 {
     var cacheKey = CreateCacheKey();
     var httpContext = HttpContextAccessor?.HttpContext;

     if (httpContext != null && httpContext.Items[cacheKey] is ApplicationConfigurationDto configuration)
     {
         return configuration;
     }

     configuration = await Cache.GetOrAddAsync(
         cacheKey,
         async () => await GetRemoteConfigurationAsync(),
         () => new DistributedCacheEntryOptions
         {
             AbsoluteExpirationRelativeToNow = TimeSpan.FromSeconds(5) //TODO: Should be configurable.
         }
     );

     if (httpContext != null)
     {
         httpContext.Items[cacheKey] = configuration;
     }

     return configuration;
 }

 private async Task<ApplicationConfigurationDto> GetRemoteConfigurationAsync()
 {
     var config = await ApplicationConfigurationAppService.GetAsync(
         new ApplicationConfigurationRequestOptions
         {
             IncludeLocalizationResources = false
         }
     );

     return config;
 }

 public ApplicationConfigurationDto Get()
 {
     var cacheKey = CreateCacheKey();
     var httpContext = HttpContextAccessor?.HttpContext;

     if (httpContext != null && httpContext.Items[cacheKey] is ApplicationConfigurationDto configuration)
     {
         return configuration;
     }

     return AsyncHelper.RunSync(GetAsync);
 }

 protected virtual string CreateCacheKey()
 {
     var userKey = CurrentUser.Id?.ToString("N") ?? "Anonymous";
     return $"ApplicationConfiguration_{userKey}_{CultureInfo.CurrentUICulture.Name}";
 }

}`

In the solution you mentioned it continues to work in memory. Don't I need such a configuration to convert it to Memcache? :

context.Services.AddSingleton<IDistributedCache<"ApplicationConfigurationDto">, Definition.Caching.MemcachedCache>();

this picture shows where I used cache.

Thanks for your answer but could not be solved.

As you can see in the image above, you have a module for redis, do you also have a module for memcache?

In the picture below, I manage permissions by performing a remote service. This class also uses cache. How should I proceed to transfer this to memcache?

Thanks for your answer There is a line on this page about using Memcached. Is there an example of its implementation?

https://abp.io/support/questions/6344/Why-do-we-need-to-install-Redis-When-is-it-used-Why-Redis-is-needed

The problem is solved, we were able to register both IDs, thank you. When we add the authorize attribute to the method as in the picture, it enters the method, but we want to check the authorization, how can we do it?

I deleted the comma but this time it does not write the CreatorId in the db.

I will send you jwt by e-mail

Hi,

I did what you said as in the screenshot below, tenantid still comes up empty. I am sharing the project including what I did. I kindly request your support.

https://we.tl/t-xVUJXhrefd

Thank you for your answer, but we have existing saas, identity, administration services. APIs in our other projects can send requests here and perform tenant and auth authentications in these services. We want to make this screen design service work the same way. What settings do we need to make?

In the example you sent, it changes the existing tenant system, this is not suitable for us.

This image is a screenshot of our saas project, currently working:

Showing 11 to 20 of 69 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.1.0-preview. Updated on December 05, 2025, 12:34
1
ABP Assistant
🔐 You need to be logged in to use the chatbot. Please log in first.