I have a microservice solution whit 5 services.
I one off this I've an event (es. connect / disconnect) in GET. I see the method called from gateway (oceleot) and it works on API but I don't see the event tracked by AbpAuditLogs table.
The method in in API Controller Authorized but this method has tag AllowAnonymous
In my microservice solution we need to add a second ui app (es. admin app for internal users). From suite / abp cli I can't create only the ui.
Which is the best way to do?
I try to create a proxy from 2 differet microservice and until yestarday all works fine but now I get this error:
[API Not Available] Request to
https://localhost:45526/api/abp/api-definition
is unsuccessful. Please double-check the URL in the source project environment and make sure your application is up and running.
If I delete the proxy folder the first run generate 1 service but when I try to execute the second I get the error but if I click on link https it works fine and get API definition
I need multiple consumer, each per tenant.
I see that need to use RabbitMq module in place of IDistributedEventBus beacuse I need to add Header attribute. This solve the first part of problem: injection off message.
So now I need to register a consumer with specific header... this part is doing from IDistributedEventHandler but this not use header.
I can achive this result?
This need is beacuse at the moment I've multple injection message and a single process message so this is a botlek
I've a solution base on 7.X where I use DynamicProxy and Ocelot.
I see the video to move proxy from dynamic to static dynamic proxy
But my gatway not show my serivice. So I create a sample solution from scratch (via suite), I build all module and I try to check if productService work as expected but it doesn't work.
It's very simple to reproduce:
My expected is to see productService as well
I've a case where I have api the host need to access to orders (all tenant) and tenat user only own data.
I know that is possible to do that in appliaction/domain but I need to add logic to all calls. My idea is create a second HttpApi and disable datafilter but it doesn't work.
I create a using with UnitOfOwrk and inside of this using a second using disable a data fitler for multitenant but on application service I see tha same GIUD fot unit off work but IMultitenat filtert have filter with IsEnable set to true.
Is it possibile disable filter on HttpApi and propagate to Application/Domain/EF?
I've a method POST to send file that work on own microservice but when call came from OCELOT all data send it is blank/null.
If I expose directly the microservice it works.
My call come from HttpClient
I've move my solution to LeptonX.
So I've created a second microservice and my angular UI has a new menu but the root name still visible to all user "autenticated" and "not autehnticated".
How can set my second menu visibile only for auth user?
I try to change my routing.module.ts inside a microservice folder off angular app but base menu name still visible
{
path: '',
pathMatch: 'full',
component: DynamicLayoutComponent,
children: [],
canActivate: [
AuthGuard,
PermissionGuard
],
},
I use a microservice solution and it work fine but still have issue related to API Gateway published on IIS.
app.UseAbpSwaggerUI(options =>
{
var configuration = context.ServiceProvider.GetRequiredService<IConfiguration>();
var routes = configuration.GetSection("Routes").Get<List<OcelotConfiguration>>();
var routedServices = routes
.GroupBy(t => t.ServiceKey)
.Select(r => r.First())
.Distinct();
foreach (var config in routedServices.OrderBy(q => q.ServiceKey))
{
var url = $"{config.DownstreamScheme}://{config.DownstreamHostAndPorts.FirstOrDefault()?.Host}:{config.DownstreamHostAndPorts.FirstOrDefault()?.Port}";
// if (!env.IsDevelopment())
// {
// url = $"https://{config.DownstreamHostAndPorts.FirstOrDefault()?.Host}";
// }
options.SwaggerEndpoint($"{url}/swagger/v1/swagger.json", $"{config.ServiceKey} API");
options.OAuthClientId(configuration["AuthServer:SwaggerClientId"]);
}
});
I need to change the not development because my IIS has non different name for single service... or all my service need to be available one by one? (ES. auth.mydomain.com, saas.api.mydomain.com,identity.api.mydomain.com, product.api.mydomain.com, ect)?
My api gateway is publish to FQDN to port 443 but all other service is in "localhost" or "machinename" in other port, so when I open the API gateway swagger the Account service works fine
If I use any other service
Hi
we have create a solution based on microservice template, we follow the guide to create a new microservice and add it to the solution.
Which is the best way to add a new gateway and new UI app (angular)?
We copy and paste the folders but need a lot of reworks