sorry zunächst, für den Betreff. Mir ist nichts besseres eingefallen. So, ich bin hier etwas am verzweifeln. Ich habe folgendes Setup
- .NET 5 Web API
- nuxt SPA
- nginx Proxy
Was genau ist das Problem?
Ich nutze MediatR für das CQRS Pattern und Lamar als DI Container. Lasse ich mir beim Start der WebAPI über einen HostedService ausgeben, was alles gescannt wurde von Lamar, sehe ich alle drei Assemblies meiner Solution. Nennen wie sie mal Project.Api, Project.Models und Project.Models.SubModel. Also die Assemblies sind da und geht auch nichts verloren (was aber auch ziemlich merkwürdig wäre, da der Docker Container lokal/AppService identisch ist). Lasse ich mir auch ausgeben, was Lamar alles registriert hat, sehe ich zig "IRequestHandler<DummyRequest, DummyResponse" Registrierungen. Alle meine RequestHandler halt. Das ist lokal.
Starte ich den AppService jetzt via docker-compose und lasse mir das Log ausgeben, sehe ich auch alle von Lamar gescannten Assemblies (die drei oben), ABER es fehlen nahezu alle Registrierungen. Es ist nur ein Bruchteil von dem, was eigentlich alles dabei ist. Einzig die Registrierungen für FluentValidation sind sichtbar. Alles andere verpufft also.
Tja, und da komme ich nicht weiter. Ich sehe den Unterschied nicht und weiß nicht, wo ich ansetzen soll. Wie gesagt, der Docker Container ist identisch. Es kann also ja an sich nicht an den Binärdaten liegen. Die Konfiguration zwischen lokal/AppService unterscheidet sich nur an der BaseURL für die nuxt Anwendung und dem ConnectionString zum Azure Sql Service. Alles andere ist ebenfalls identisch.
Woran kann das liegen, dass Lamar einfach nichts findet, obwohl er die gleichen Assemblies scannt?
Oder ist das noch ne Macke von den AppServices, da docker-compose noch experimentell ist?
Ich bräuchte einfach mal ein paar Ideen
Gruß
Khalid