Have you tried on Web.Unified which is Single (Unified) Application Scenario? When I runned identity, web.host and http.host separately (which is Separated Deployment & Databases Scenario), I got that problem. Web.Unified works properly.
Hello ABP,
I have created a new solution with version of 4.4.3 like described in your documentation.
abp new Acme.IssueManagement -t module-pro -v 4.4.3
I have used CurrentUser.UserName on SampleAppService which comes from default template for taking the username. I saw the username was null. Other values were fine.
If I try on developer tools by using "abp.currentUser", I can see the username.
I have faced this issue on my application and I wanted to be sure whether the cause of the problem was related with me or not. Is that kind a bug or am I missing somethings?
Thanks.
Aren't there any informations?
Hello Abp,
I want to add a menu item to navigation menu when a new entity is inserted from create modal. I have searched from documents but I could not find any information about this operation. Do you have any suggestion about that?
Hello,
I notice that when I change the language to German, I cannot see any value in graphs which are set defaultly. We use three languages (Turkish, English, German) in our application. Others haven't got such a problem. Also I checked the default project created by Abp suite to try to figure out if the problem was our fault or not. It has same problem, too. After trying to change the date from date range input, I figured out the dates are wrong initially. While taking the current date initially, I see past date instead of current date. When I change the dates, I can get the correct values. Do you have any advice to get current date or is it a bug to be fixed by ABP?
Hi,
Thank you.
Hi,
it is already like that
app.UseSwaggerUI(options =>
{
options.DocumentTitle = "NMM API";
// Display latest api version by default
//
var provider = context.ServiceProvider.GetRequiredService<IApiVersionDescriptionProvider>();
foreach (var description in provider.ApiVersionDescriptions)
{
options.SwaggerEndpoint($"/swagger/{description.GroupName}/swagger.json", description.GroupName.ToUpperInvariant());
}
var configuration = context.GetConfiguration();
options.OAuthClientId(configuration["AuthServer:SwaggerClientId"]);
options.OAuthClientSecret(configuration["AuthServer:SwaggerClientSecret"]);
});
Hi,
I sent the source code
Hello ABP,
We are trying to implement API versioning with tiered project. We use URI versioning for realizing that. We have checked your test project for api versioning. Also we have checked https://github.com/abpframework/abp/issues/3315 issue. We are able to create two different versions of our API. I can see clearly on Swagger. We cannot see all APIs relevant with ABP's modules such as Identity, Permission Management. We added HttpApi modules in PreConfigureServices for seeing on swagger. . We inserted account admin and account public as an example.
First question is what we have done is best practice for seeing the controllers related with ABP?
After inserting api versioning logic, web module crashed.
Host and Identity project work with no problem. Exception message is below. Swagger configuration code:
private void ConfigureSwagger(ServiceConfigurationContext context, IConfiguration configuration)
{
Configure<AbpAspNetCoreMvcOptions>(options => { context.Services.ExecutePreConfiguredActions(options); });
context.Services.AddControllers();
context.Services.AddAbpApiVersioning(options =>
{
options.DefaultApiVersion = new ApiVersion(1, 0);
options.AssumeDefaultVersionWhenUnspecified = true;
options.ReportApiVersions = true;
options.ApiVersionReader = new UrlSegmentApiVersionReader();
var mvcOptions = context.Services.ExecutePreConfiguredActions<AbpAspNetCoreMvcOptions>();
options.ConfigureAbp(mvcOptions);
});
context.Services.AddVersionedApiExplorer(options =>
{
// add the versioned api explorer, which also adds IApiVersionDescriptionProvider service
// note: the specified format code will format the version as "'v'major[.minor][-status]"
options.GroupNameFormat = "'v'VVV";
// note: this option is only necessary when versioning by url segment. the SubstitutionFormat
// can also be used to control the format of the API version in route templates
options.SubstituteApiVersionInUrl = true;
});
context.Services.AddTransient<IConfigureOptions<SwaggerGenOptions>, ConfigureSwaggerOptions>();
context.Services.AddSwaggerGen(options =>
{
options.OperationFilter<SwaggerDefaultValues>();
options.DocumentFilter<CustomSwaggerFilter>();
options.DocInclusionPredicate((docName, description) =>
{
// Get api major version
var apiVersion = $"v{description.GetApiVersion().MajorVersion}";
if (!docName.Equals(apiVersion))
return false;
// Replace router parameter
var values = description.RelativePath
.Split('/')
.Select(v => v.Replace("v{version}", apiVersion));
description.RelativePath = string.Join("/", values);
return true;
});
options.CustomSchemaIds((type) => type.FullName);
options.SchemaFilter<AddEnumSchemaFilter>();
});
}
Hello controller code :
using System.Threading.Tasks;
using ApiVersioningTiered.Controllers;
using Microsoft.AspNetCore.Mvc;
namespace Volo.Abp.AspNetCore.Mvc.Versioning.App
{
[ApiVersion("1.0")]
[ApiVersion("2.0")]
[ApiController]
[Route("api/v{version:apiVersion}/[controller]")]
public class HelloController : ApiVersioningTieredController
{
[HttpGet]
public Task<string> GetAsync()
{
return Task.FromResult($"Get");
}
[HttpPost]
[Route("Test")]
[MapToApiVersion("1.0")]
public Task<string> PostAsyncV1()
{
return PostAsync();
}
[HttpPost]
[MapToApiVersion("2.0")]
[Route("Test")]
public Task<string> PostAsyncV2()
{
return PostAsync();
}
private Task<string> PostAsync()
{
return Task.FromResult($"Post-{HttpContext.GetRequestedApiVersion().ToString()}");
}
}
}
Are there any suggestions about that?
* AbpException: Could not found remote action for method: System.Threading.Tasks.Task`1[Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.ApplicationConfigurationDto] GetAsync() on the URL: https://localhost:44321/
Volo.Abp.Http.Client.DynamicProxying.ApiDescriptionFinder.FindActionAsync(HttpClient client, string baseUrl, Type serviceType, MethodInfo method)
Volo.Abp.Http.Client.DynamicProxying.DynamicHttpProxyInterceptor<TService>.MakeRequestAsync(IAbpMethodInvocation invocation)
Volo.Abp.Http.Client.DynamicProxying.DynamicHttpProxyInterceptor<TService>.MakeRequestAndGetResultAsync<T>(IAbpMethodInvocation invocation)
Volo.Abp.Http.Client.DynamicProxying.DynamicHttpProxyInterceptor<TService>.GetResultAsync(Task task, Type resultType)
Volo.Abp.Http.Client.DynamicProxying.DynamicHttpProxyInterceptor<TService>.InterceptAsync(IAbpMethodInvocation invocation)
Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter<TInterceptor>.InterceptAsync<TResult>(IInvocation invocation, IInvocationProceedInfo proceedInfo, Func<IInvocation, IInvocationProceedInfo, Task<TResult>> proceed)
Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous<TResult>(IInvocation invocation, IInvocationProceedInfo proceedInfo)
Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue<TResult>.ProceedAsync()
Volo.Abp.Validation.ValidationInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter<TInterceptor>.InterceptAsync<TResult>(IInvocation invocation, IInvocationProceedInfo proceedInfo, Func<IInvocation, IInvocationProceedInfo, Task<TResult>> proceed)
Volo.Abp.AspNetCore.Mvc.Client.MvcCachedApplicationConfigurationClient.<GetAsync>b__14_0()
Volo.Abp.Caching.DistributedCache<TCacheItem, TCacheKey>.GetOrAddAsync(TCacheKey key, Func<Task<TCacheItem>> factory, Func<DistributedCacheEntryOptions> optionsFactory, Nullable<bool> hideErrors, bool considerUow, CancellationToken token)
Volo.Abp.AspNetCore.Mvc.Client.MvcCachedApplicationConfigurationClient.GetAsync()
Volo.Abp.AspNetCore.Mvc.Client.RemoteLanguageProvider.GetLanguagesAsync()
Microsoft.AspNetCore.RequestLocalization.DefaultAbpRequestLocalizationOptionsProvider.GetLocalizationOptionsAsync()
Microsoft.AspNetCore.RequestLocalization.AbpRequestLocalizationMiddleware.InvokeAsync(HttpContext context, RequestDelegate next)
Microsoft.AspNetCore.Builder.UseMiddlewareExtensions+<>c__DisplayClass6_1+<<UseMiddlewareInterface>b__1>d.MoveNext()
Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)
Hello,
When I run the /api/abp/application-configuration endpoint on swagger, I see the localization values in my project. However, under the sections languagesMap and languageFilesMap, I see that the libraries which are bootstrap-datepicker, jquery.timeago, jquery-validation are set the language as Chinese. I expect when I select English on the Web UI, they are set as English. In addition, under the libraries on wwroot that I mentioned above, they have lots of language files. Do they need to be set as current language that I select on the Web UI. What is the reason of this?