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 3753 dni, 17 godzin, 15 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 4730 dni, 13 godzin, 48 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 5157 dni, 12 godzin, 59 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 5666 dni, 7 godzin, 4 minuty 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 5669 dni, 13 godzin, 46 minut temu 113 źrodło rozwiń