Pisaliśmy kiedyś aplikację dla klienta z dość jaśnie określoną specyfikacją sprzętową. Program ma się bez problemów uruchamiać na 64-bitowym Windowsie 8 ponieważ wszystkie komputery działają pod obsługą tego systemu. Czyli hulaj dusza jedziemy z najnowszą wersją .neta (wszak jest to soft dedykowany dla tego konkretnego klienta). Po czasie określonym w umowie dostarczamy soft klientowi na testy, instalacja przebiega bezproblemowo… do czasu. Jest godzina 10 spokojnie dopijam czwarty kubek kawy (wsz...
Sztuka programowania 3894 dni, 10 godzin, 7 minut temu 259 źrodło rozwiń
W poprzednim wpisie zająłem się wpływem sesji na wydajność kontrolerów. Dzisiaj zajmiemy się asynchroniczny kontrolerami, które znaczącą zostały uproszczone w .NET 4.5. Żeby zrozumieć jak działają asynchroniczne kontrolery, należy zdawać sobie sprawę, jak działa przetwarzanie zapytań. Załóżmy, że wysłanych jest 1000 zapytać do serwera. Czy zostaną one obsłużone jednocześnie, a może sekwencyjnie, jedno po jednym? ASP.NET MVC ma pulę wątków, przeznaczoną do przetwarzania zapytań. Jeśli zatem pula ma poje...
autor: W poprzednich częściach ([RX 1], [RX 2], [RX 3], [RX 4], [RX 5]) artykułu o Reactive Extensions dla .NET pojawiło się już dość sporo teorii, ale raczej mało przykładów, w tym wpisie chciałbym się skupić właśnie na przykładach bazujących na zdobytej uprzednio wiedzy. Zacznijmy od zastanowienia się nad prostymi subskrypcjami. W przykładzie z wpisu pt.: "[RX 3] Reactive Extensions pierwszy kontakt z kodem", zasubskrybowaliśmy obiekt typu IObservable (funkcją Subscribe) i jako parametr przekazane zost...
Programowanie rozproszone 4871 dni, 6 godzin, 41 minut temu 98 źrodło rozwiń
Ostatnimi czasy dość intensywnie wykorzystuje wzorzec projektowy MVVM (MVVM Light Toolkit). Zgodnie ze sztuką, nie blokuję UI i wszystkie bardziej skomplikowane operacje wykonuję asynchronicznie. Do tego celu najczęściej używam BackgroundWorker lub ThreadPool, ze wskazaniem na BackgroundWorker względu na bogatszą funkcjonalność (OnProgressChanged, OnCompleted itd.). Z czasem gdy V...
Aby pomoc ludziom programować asynchronicznie wymyślono słowa kluczowe async i await. Async będzie służyć do oznaczania metod w których pojawią się wywołania asynchroniczne, zaś same wywołania będziemy oznaczać przez await i te słowo kluczowe może pojawić się tylko w metodach oznaczonych właśnie przez async. Dzięki temu jak tłumaczy Mads Torgersen nie będzie już dla użytkownika problemem tworzenie wielu funkcji Callback, gdyż b...
Programowanie rozproszone 5298 dni, 5 godzin, 51 minut temu 131 źrodło rozwiń
Zawsze zastanawiało mnie w jaki sposób przy użyciu jQuery wykonuje się zapytania asynchroniczne. Kilka dni temu miałem okazję (a bardziej konieczność) napisać prosty WebService, którego zadaniem było zwracanie określonych danych z bazy MS SQL. Po przyswojeniu pewnej porcji informacji związanych z AJAX’em mogłem zabrać się do działania. Jak się okazało, nie taki diabeł straszny jak go malują. :)
Simon: Bardziej uważni czytelnicy pamiętają, że od jakiegoś czasu jestem mocno zainteresowany tematem komunikacji asynchronicznej. Zupełnie ostatnio dosyć intensywnie zająłem się biblioteką NServiceBus. Swoją poprzednią notką zainteresowałem kolegę z pracy, który postanowił także wykorzystać NServiceBus (do scenariusza Publish/Subscribe). Kolega skazany jest na wykorzystanie kontenera Unity (w którego to sam go wkopałem, mea culpa).
Programowanie rozproszone 5806 dni, 23 godziny, 56 minut temu 86 źrodło rozwiń
Simon: Jak część z Was pamięta, jakiś czas temu dosyć aktywnie blogowałem na temat szyny (tu, tu oraz tu). Od tej pory upłynęło już sporo czasu. Chciałoby się powiedzieć: "dziś sam jestem dziadkiem". Ale nie, wertersów Wam nie dam. Opowiem za to o moim dojrzewaniu do komunikacji za pomocą asynchronicznej wymiany komunikatów.
Programowanie rozproszone 5810 dni, 6 godzin, 39 minut temu 113 źrodło rozwiń