[dhaoo] said: Must the interface defined by *.Application.Contracts be referenced in the module to implement the proxy? Is it referenced in the *.HttpApi project or in the *.httpapi.client
Yes, we suggest defining in a shared library between client and secret, so you can use the application service interface in your client application and generate a proxy for that. (https://abp.io/docs/latest/framework/api-development/static-csharp-clients#service-interface)
Otherwise, you might need to create a httpclient instance yourself, and send a request to the related service endpoint manually. Please refer to https://abp.io/docs/latest/framework/api-development/static-csharp-clients#service-interface for more information.
Regards.
[sahanaacharya] said: Hi,
Thanks for the quick response. Could you please let us know which service has the gdpr data. i was unable to find it in administration service.
Sorry, I'm not sure that I've understood it correctly. Can you please explain it in detail? Do you mean the administration service in the microservice solution or something else?
I've customized the login page with your default.cshtml file but unable to reproduce your problem. Please share your solution via email to support@abp.io with ticket number, so I can directly check from your project.
Regards.
[LW] said: Yes, we are using Redis already. My initial thought was that it cannot be the Redis, since we see no overload indicators in Azure Redis monitoring. However we see some intermittent timeout exceptions and in those I can see, if I understand correctly, some pretty high number of waiting calls (async-ops count), which could indicate some Redis overload.
Timeout awaiting response (outbound=0KiB, inbound=0KiB, 5859ms elapsed, timeout is 5000ms), command=EXPIRE, next: EXPIRE c:Volo.Abp.MultiTenancy.TenantConfiguration,k:SCM_PROD:i:dba2a1ba-5a58-f4f6-ec6a-3a03f2c223b2,n:null, inst: 0, qu: 0, qs: 0, aw: False, bw: SpinningDown, rs: DequeueResult, ws: Idle, in: 0, last-in: 0, cur-in: 63, sync-ops: 19115, **async-ops: 1215359**, serverEndpoint: redis-paas-PROD-002.redis.cache.windows.net:6380, conn-sec: 27571.89, aoc: 0, mc: 1/1/0, mgr: 9 of 10 available, clientName: AW0SDWK000002(SE.Redis-v2.7.27.49176), IOCP: (Busy=0,Free=1000,Min=1,Max=1000), WORKER: (Busy=30,Free=32737,Min=2,Max=32767), POOL: (Threads=30,QueuedItems=4,CompletedItems=3836531,Timers=54), 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)
This might be the reason. If the cache response doesn't arrive within a specific time, the data will be retrieved from the database instead.
[FelixKirschner] said: The scripts which are added are the following:
<script src="/_content/Volo.Abp.AspNetCore.Components.Web/libs/abp/js/abp.js"></script> <script src="/_content/Volo.Abp.AspNetCore.Components.Web/libs/abp/js/authentication-state-listener.js"> </script><script src="/_content/Volo.Abp.Account.Pro.Public.Blazor.Shared/IdleTracker.js"></script> <script src="/_content/Volo.Saas.Host.Blazor/libs/chart/chart.min.js"></script> <script src="/_content/Volo.Abp.AuditLogging.Blazor/libs/chart/chart.min.js"></script> <script src="/_content/Volo.Abp.AspNetCore.Components.Web.LeptonXTheme/side-menu/libs/bootstrap/js/bootstrap.bundle.min.js"></script> <script src="/_content/Volo.Abp.AspNetCore.Components.Web.LeptonXTheme/side-menu/libs/jquery/jquery.min.js"></script> <script src="/_content/Volo.Abp.AspNetCore.Components.Web.LeptonXTheme/side-menu/libs/bootstrap-datepicker/js/bootstrap-datepicker.min.js"></script> <script src="/_content/Volo.Abp.AspNetCore.Components.Web.LeptonXTheme/side-menu/js/lepton-x.bundle.min.js"></script> <script src="/_content/Volo.Abp.AspNetCore.Components.Server.LeptonXTheme/scripts/leptonx-blazor-compatibility.js"></script> <script src="/_content/Volo.Abp.AspNetCore.Components.Web.LeptonXTheme/scripts/global.js"></Scrip> <script src="_framework/blazor.web.js"></script> <script src="/_framework/aspnetcore-browser-refresh.js"></script></body></html>< >
So there might be the /Idle/Default.js missing.What is the easiest way to check if persistent login is enabled?
Sorry, since you did not share the UI, I assumed that you are using MVC, this is the reason why I shared the scripts with you. For the blazor side, having /_content/Volo.Abp.Account.Pro.Public.Blazor.Shared/IdleTracker.js
is enough.
And for the layout hook side, we register the AccountIdleComponent
as follows, and it's already done on your side as well:
Configure<AbpLayoutHookOptions>(options =>
{
options.Add(LayoutHooks.Body.Last, typeof(AccountIdleComponent));
});
In your setup, it seems it's already added to the layout, and the component is also added.So, it seems everything is correct on your side.
I've tried the "Idle Session" feature on Blazor Server just before, but it did not work as you said. I'll create an issue for that.
Regards.
Hi, currently the ABP Studio CLI, uses a versioning system like in the mapping table here
So, currently, the latest ABP Studio CLI creates projects with v9.1.1, if you want to use v9.1.3, after creating your solution, you can select the "Switch to stable" option from ABP Studio UI:
or alternatively, use the ABP Studio CLI and run the following command in the root directory:
abp switch-to-stable
https://abp.io/docs/latest/cli#switch-to-stable
Regards.
[dhaoo] said:
![]()
![]()
hi: Through the document, I saw the requirements for dynamic or static agents. The interface under the Contracts project can implement the agent, but this interface definition does not exist in the module program of the multi-layer project. What should I do now
Do you have an application service interface defined in your *.Application.Contracts
project and referenced in your other module? Typically, in ABP, application service contracts are placed in the *.Application.Contracts
layer, and other modules reference that project to access the services.
You can refer to the Service Interface section in the document for more info.
[FelixKirschner] said: Yes I am 100% not triggering something on the side with my mouse. Some background jobs are running but I don't think they matter to JS. The idle timer settings are working completly on his own or? Because we got settings defintions too. Is there somewhere a demo side with working idle online?
Okay, thanks for the confirmation.
There is a component named AccountIdleViewComponent
, which is added a layout hook for this feature:
Configure<AbpLayoutHookOptions>(hookOptions =>
{
hookOptions.Add(
LayoutHooks.Body.Last,
typeof(AccountIdleViewComponent)
);
});
This is the component that shows the idle timeout dialog, and also inserts 2 scripts to check inactivity on the JS Side (/Pages/Account/Idle/IdleTracker.js
and /Pages/Account/Idle/Default.js
).
You can check your page source, and check if these two scripts are added or not. And also, ensure that you are not using persistent logins, because it's disabled for persistent logins:
[JanneHarju] said: Not yet. I'm figuring that how big work is to make minimal reproduce project. Did you use same angular version because I think it was related to that.
@erdem.caygor attempted to reproduce the issue using a fresh template, but was unable to. This is exactly why we kindly requested a minimal reproducible project, it helps us better understand and assist you with the problem. So, if you can provide us a minimal project, we can directly help you.
Regards.