Niekompatybilne .dll z projektem ASP .NET Core

0

Witam.
Potrzebuje nakierowania na rozsądne rozwiązanie problemu z niekompatybilnymi .dll. Referencje, których potrzebuje w projekcie są niezbędne do poprawnego działania aplikacji webowej. Problem polega na tym, że nie są one przystosowane do .NET Core, a już tym bardziej nie są to pliki .dll, które będą działać poprawnie w pojektach webowych. Rozważam w sumie tylko jedno - aplikacja konsolowa + wymagane .dllki, którą wywołuje aplikacją webową z odpowiednimi parametrami, konsola robi swoje i rzuca informacją zwrotną czy wszystko ok. Mieliście już tak, że musieliście robić takie "wspomagacze". Macie projekty, w których nie dało się podpiąć wymaganych .dll i trzeba było robić takie dziwne obejścia?

0

Tak. Musiałem kiedyż użyć optymalizatora genetycznego napisanego w Javie ale mógł być uruchamiany w trybie off-line. WebApp (asp.net mvc) dodawała zadanie do bazy danych ze statusem Nowy a WinService sprawdzał siebie czy są nowe zadania do optymalizacji, obliczał, uruchamiając javowego jar-a, i zwracał do WebApp przez API info, że już policzone.
Jak widać było mocno rozdzielone.
u Ciebie tez można (chyba) zostawić w aplikacji .net core samą obsługę żądań a to co wymaga .NET standard opakować w WinService (czy cos innego) i komunikować się po czymś (kolejki, http...)..

0

Mam już jeden projekt, który miał to tak rozdzielone. Uruchamiałem wtedy aplikację konsolową z parametrami do pliku, który zawierał dane do obrobienia i zwracał jakiś tam wynik. Miałem to rozwiązane z pomocą obiektu typu Process

Process p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.FileName = cmd;
p.StartInfo.Arguments = message;
p.StartInfo.RedirectStandardOutput = true;
p.Start();

Nie myślałem czy to jest dobre rozwiązanie, ponieważ wtedy miało działać za wszelką cenę. Teraz jednak projekt jest większy i myślę na przyszłość. Czy takie rozwiązanie jest dobrę w kwestii uruchomienia kilkukrotnie? W sumie dla każdego wywołania jest osobne okno konsoli, czy to w jakiś sposób może się zazębić ze sobą? Czy lepiej jednak http, lokalne API?

0

Witam,

Jakie dziwne obejścia, dodaj jakiś messagebus i zepnij nim swoje programy.

Pozdrawiam,

mr-owl

0

@mr-owl: Jakiś przykład, jak taki messagebus może mi pomóc? Rzuciłem teraz tylko okiem na szybko czym jest i nie bardzo wiem jak to mogę wykorzystać w swoim przypadku

1 użytkowników online, w tym zalogowanych: 0, gości: 1