MyAppMenuContributor : IMenuContributor
private async Task ConfigureUserMenuAsync(MenuConfigurationContext context)
{
var accountStringLocalizer = context.GetLocalizer<AccountResource>();
var identityServerUrl = _configuration["AuthServer:Authority"] ?? "";
context.Menu.AddItem(new ApplicationMenuItem(
"Account.Manage",
accountStringLocalizer["MyAccount"],
$"{identityServerUrl.EnsureEndsWith('/')}Account/Manage?returnUrl={_configuration["App:SelfUrl"]}",
icon: "fa fa-cog",
order: 1000,
null).RequireAuthenticated());
context.Menu.AddItem(new ApplicationMenuItem(
"Account.SecurityLogs",
accountStringLocalizer["MySecurityLogs"],
$"{identityServerUrl.EnsureEndsWith('/')}Account/SecurityLogs?returnUrl={_configuration["App:SelfUrl"]}",
icon: "fa fa-cog",
order: 1001,
null).RequireAuthenticated());
await Task.CompletedTask;
}
Module.cs
private void ConfigureMenu(ServiceConfigurationContext context)
{
Configure<AbpNavigationOptions>(options =>
{
options.MenuContributors.Add(new MyAppMenuContributor (context.Services.GetConfiguration()));
});
}
The current licence includes 5 developers. It needs to be reduced to 3. The UI only allows for adding developers rather than reducing the count.
I'd like to navigate to a specific menu with a query parameter and I also like the menu selected(highlighted)
NavigationManager.NavigateTo($"/companies?companyName=apple");// something like this.
this navigates to the companies page and works as I want but the Companies menu is not highlighted(selected).
To make it highlight, I alwasy need to call Navigates twice like below
NavigationManager.NavigateTo($"/companies");//This highlights Companies menu
NavigationManager.NavigateTo($"/companies?companyName=apple");// and I need to call this again.
Above code some times works and some times does not, I think it depends on how heavy loads are in OnInitializedAsync method.
How can I NOT log SQL query syntax?
The log file size is huge and most of the text are from EFCore query.
Hi there,
I'm trying to use CancellationToken for long running task, I cannot make it work in AppService. but it works well on my local api calls.
protected override async Task OnInitializedAsync()
{
cts.CancelAfter(2000);//To test CancellationToken
//Below cancellation work well.
//forecasts = await Http.GetFromJsonAsync<WeatherForecast[]>("https://localhost:44320/WeatherForecast/", cts.Token);
//This does not work.
var pageResult = await CallsAppService.GetListAsync(new GetCallsInput { }, cts.Token);
Calls = pageResult.Items;
}
This is my GetListAsync from CallsAppService
public virtual async Task<PagedResultDto<CallDto>> GetListAsync(GetCallsInput input, CancellationToken ct = default)
{
Thread.Sleep(3000);//On purpose to test CancellationToken
var totalCount = await _callRepository.GetCountAsync(input.FilterText, input.Number, ct);
var items = await _callRepository.GetListAsync(input.FilterText, input.Number, input.Sorting, input.MaxResultCount, input.SkipCount, ct);
return new PagedResultDto<CallDto>
{
TotalCount = totalCount,
Items = ObjectMapper.Map<List<Call>, List<CallDto>>(items)
};
}
This is my CallController
[HttpGet]
public virtual Task<PagedResultDto<CallDto>> GetListAsync(GetCallsInput input, CancellationToken ct = default)
{
return _callsAppService.GetListAsync(input, ct);
}
Check the docs before asking a question: https://docs.abp.io/en/commercial/latest/ Check the samples, to see the basic tasks: https://docs.abp.io/en/commercial/latest/samples/index The exact solution to your question may have been answered before, please use the search on the homepage.
1.Create a model with 15+ properties. e.t.c Customer model with 15 properties. 2. Click New Customer to open Modal window.[The first time, the vertical scroll works well] 3. Close Modal 4. Click New User [or something else that has few properties] 5. Close Modal. 6. Click New Customer again. [This time the vertical scroll bar does not work propelry]
Check the docs before asking a question: https://docs.abp.io/en/commercial/latest/ Check the samples, to see the basic tasks: https://docs.abp.io/en/commercial/latest/samples/index The exact solution to your question may have been answered before, please use the search on the homepage.
<br> I'd like to enable Ldap login with Blazor template but I cannot find Features menu.
Check the docs before asking a question: https://docs.abp.io/en/commercial/latest/ Check the samples, to see the basic tasks: https://docs.abp.io/en/commercial/latest/samples/index The exact solution to your question may have been answered before, please use the search on the homepage.
Hi,
I'd like to use a open source [https://github.com/Blazored/Modal] in my project. To use it, I need to use below code.
<CascadingBlazoredModal>
<Router AppAssembly="typeof(Program).Assembly">
...
</Router>
</CascadingBlazoredModal>
Some open soures need to be added into "Main" page, how can I handle this?
Thanks.
Check the docs before asking a question: https://docs.abp.io/en/commercial/latest/ Check the samples, to see the basic tasks: https://docs.abp.io/en/commercial/latest/samples/index The exact solution to your question may have been answered before, please use the search on the homepage.
I'd like to use app services that requires permission on Console application. The console application does not know of web host existing. How can I sign in or get pass the permission check?
var user = await _userManager.FindByNameAsync("admin");
var newPrincipal = new ClaimsPrincipal(
new ClaimsIdentity(
new[]
{
new(AbpClaimTypes.UserId, user.Id.ToString()),
new Claim(AbpClaimTypes.UserName, user.UserName)
}
));
using (_currentPrincipalAccessor.Change(newPrincipal))
{
// Below method requires authentication and authorization.
var lastRunTimeCoreSetting = await _coreSettingAppService.GetByNameAsync("LastRunTime");
}
<br> I'm using AddAlwaysAllowAuthorization for testing now, but this is not ideal for production.
Check the docs before asking a question: https://docs.abp.io/en/commercial/latest/ Check the samples, to see the basic tasks: https://docs.abp.io/en/commercial/latest/samples/index The exact solution to your question may have been answered before, please use the search on the homepage.
The abp CLI is authenticated with user "drenton". Calling https://abp.io/api/download/template/ with GET returns HTTP 405 so perhaps GET is not supported. Below is the error message:
C:\Users\drenton\Source\Repos>abp new Acme.IssueManagement -t module-pro
[11:40:40 INF] ABP CLI (https://abp.io)
[11:40:41 INF] Version 4.1.2 (Stable)
[11:40:42 INF] Creating your project...
[11:40:42 INF] Project name: Acme.IssueManagement
[11:40:42 INF] Template: module-pro
[11:40:42 INF] Create Solution Folder: no
[11:40:42 INF] Output folder: C:\Users\drenton\Source\Repos
[11:40:54 INF] Downloading template: module-pro, version: 4.1.2
Error occured while downloading source-code from https://abp.io/api/download/template/ : '<' is an invalid start of a value. Path: $ | LineNumber: 0 | BytePositionInLine: 0.
[11:40:57 ERR] '<' is an invalid start of a value. Path: $ | LineNumber: 0 | BytePositionInLine: 0.
System.Text.Json.JsonException: '<' is an invalid start of a value. Path: $ | LineNumber: 0 | BytePositionInLine: 0.
---> System.Text.Json.JsonReaderException: '<' is an invalid start of a value. LineNumber: 0 | BytePositionInLine: 0.
at System.Text.Json.ThrowHelper.ThrowJsonReaderException(Utf8JsonReader& json, ExceptionResource resource, Byte nextByte, ReadOnlySpan1 bytes) at System.Text.Json.Utf8JsonReader.ConsumeValue(Byte marker) at System.Text.Json.Utf8JsonReader.ReadFirstToken(Byte first) at System.Text.Json.Utf8JsonReader.ReadSingleSegment() at System.Text.Json.Utf8JsonReader.Read() at System.Text.Json.Serialization.JsonConverter
1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
--- End of inner exception stack trace ---
at System.Text.Json.ThrowHelper.ReThrowWithPath(ReadStack& state, JsonReaderException ex)
at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
at System.Text.Json.JsonSerializer.ReadCore[TValue](JsonConverter jsonConverter, Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
at System.Text.Json.JsonSerializer.ReadCore[TValue](Utf8JsonReader& reader, Type returnType, JsonSerializerOptions options)
at System.Text.Json.JsonSerializer.Deserialize[TValue](String json, Type returnType, JsonSerializerOptions options)
at System.Text.Json.JsonSerializer.Deserialize[TValue](String json, JsonSerializerOptions options)
at Volo.Abp.Json.SystemTextJson.AbpSystemTextJsonSerializerProvider.Deserialize[T](String jsonString, Boolean camelCase) in D:\ci\Jenkins\workspace\abp-framework-release\abp\framework\src\Volo.Abp.Json\Volo\Abp\Json\SystemTextJson\AbpSystemTextJsonSerializerProvider.cs:line 34
at Volo.Abp.Json.AbpHybridJsonSerializer.Deserialize[T](String jsonString, Boolean camelCase) in D:\ci\Jenkins\workspace\abp-framework-release\abp\framework\src\Volo.Abp.Json\Volo\Abp\Json\AbpHybridJsonSerializer.cs:line 37
at Volo.Abp.Cli.ProjectBuilding.RemoteServiceExceptionHandler.GetAbpRemoteServiceErrorAsync(HttpResponseMessage responseMessage) in D:\ci\Jenkins\workspace\abp-framework-release\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\ProjectBuilding\RemoteServiceExceptionHandler.cs:line 52
at Volo.Abp.Cli.ProjectBuilding.RemoteServiceExceptionHandler.EnsureSuccessfulHttpResponseAsync(HttpResponseMessage responseMessage) in D:\ci\Jenkins\workspace\abp-framework-release\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\ProjectBuilding\RemoteServiceExceptionHandler.cs:line 38
at Volo.Abp.Cli.ProjectBuilding.AbpIoSourceCodeStore.DownloadSourceCodeContentAsync(SourceCodeDownloadInputDto input) in D:\ci\Jenkins\workspace\abp-framework-release\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\ProjectBuilding\AbpIoSourceCodeStore.cs:line 221
at Volo.Abp.Cli.ProjectBuilding.AbpIoSourceCodeStore.GetAsync(String name, String type, String version, String templateSource, Boolean includePreReleases) in D:\ci\Jenkins\workspace\abp-framework-release\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\ProjectBuilding\AbpIoSourceCodeStore.cs:line 109
at Volo.Abp.Cli.ProjectBuilding.TemplateProjectBuilder.BuildAsync(ProjectBuildArgs args) in D:\ci\Jenkins\workspace\abp-framework-release\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\ProjectBuilding\TemplateProjectBuilder.cs:line 56
at Volo.Abp.Cli.Commands.NewCommand.ExecuteAsync(CommandLineArgs commandLineArgs) in D:\ci\Jenkins\workspace\abp-framework-release\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\Commands\NewCommand.cs:line 148
at Volo.Abp.Cli.CliService.RunAsync(String[] args) in D:\ci\Jenkins\workspace\abp-framework-release\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\CliService.cs:line 59