Piszę bardzo asynchroniczną aplikację.Wywołania metod kolejkowania - jakikolwiek pomysł?
Szukam sposobu kolejkowania wywołań metod podobnych do tego, co robi BeginInvoke/EndInvoke .... ale w mojej kolejce WŁASNEJ. Reaqson polega na tym, że posiadam własny zoptymalizowany system kolejkowania komunikatów za pomocą wątku, ale jednocześnie upewniając się, że każdy komponent jest pojedynczy wątek w żądaniach (tj. Jeden wątek obsługuje tylko wiadomości dla komponentu).
Mam wiele wiadomości wracających do poprzedniej wersji. Do ograniczonego użytku bardzo chciałbym móc ustawić kolejkę komunikatów z parametrami, zamiast definiować własny parametr, zawijanie/rozpakowywanie metod tylko w celu wykonywania wielu połączeń admnistracyjnych. Nie zawsze też chcę ominąć kolejkę i zdecydowanie nie chcę, aby usługa wysyłająca oczekiwała na odpowiedź drugiej usługi.
Ktoś wie o sposobie przechwycenia wywołania metody? Jakiś sposób wykorzystania do tego celu TransparentProxy/Virtual Proxy? ;) ServicedComponent? Chciałbym, żeby to było tak mało jak to możliwe;)
tghe kolejkowania nie jest problem;) Mam że jeden już, a wiele wiadomości, które przenoszą aktualizacje danych. Mój problem to tylko wywołania funkcji. Kolejka następnie używa ThreadPool, aby uzyskać wątek roboczy, który przetwarza jego zawartość;) Mam tam dużo aktualizacji danych procesowych - teraz szukam sposobu na wywołanie kolejki (w procesie). Jeden typ komunikatu, który nie ma "danych", ale wywołanie funkcji ze wszystkimi parametrami, dzięki czemu mogę w prosty sposób wywoływać metody w docelowej usłudze. Znacząco ograniczyłoby to liczbę różnych wiadomości, których potrzebuję ... – TomTom
i nie musiałbym wymyślać instrukcji przełączania hugh wyłącznie w celu wywoływania różnych metod. – TomTom
Ponieważ szukasz w kolejce wywołania metod w procesie, przekazywanie lambdas wydaje się dokładnie tym, czego szukasz ... –