dotnetomaniak.pl - Artykuły z tagiem async

Dzisiaj znów kilka drobnych nowości z C# 6.0 Pierwsza z nich to możliwość połączenia using z klasami statycznymi, których sposób użycia przypomina trochę przestrzenie nazw. Zaprezentuję to na przykładzie klasy Console. Posiada ona kilka statycznych metod m.in. WriteLine:Console.WriteLine("Hello World!"); W nowej wersji, będziemy mogli dołączyć każdą klasę statyczną, tak jak zwykłą przestrzeń nazw:using System.Console; namespace ConsoleApplication2 { class Program { staticvoid Main(s...

Dziel się z innymi:
Piotr Zieliński » C# 6.0: Using i klasy statyczne oraz metody asynchroniczne w catch\finally

Inne 3442 dni, 3 godziny, 1 minutę temu psz750 291 źrodło rozwiń

W VS 2013 usprawniono debugowanie kodu asynchronicznego. Wszyscy jesteśmy przyzwyczajeni już do async\await. Znacząco to ułatwia wykonywanie operacji asynchronicznych. Niestety, debugowanie w VS 2012 jest dość uciążliwe. Załóżmy, że mamy kod z wieloma metodami asynchronicznymi, które z kolei są pozagnieżdżane. W przypadku wyrzucenia wyjątku lub ustawienia breakpoint’a, call stack nie zawierał żadnych informacji. Przetestujmy opisany problem  na następującym kodzie:publicpartialclass MainWindow : Window {...

Dziel się z innymi:
Piotr Zieliński  » Visual Studio 2013 – debugowanie asynchronicznego kodu

Narzędzia 3599 dni, 10 godzin, 31 minut temu psz750 176 źrodło rozwiń

W dzisiejszym wpisie poruszę temat tworzenia kontrolerów asynchronicznych a właściwie asynchronicznych akcji kontrolera. W tworze tym wykorzystuje się programowanie wielowątkowe przy użyciu słów kluczowych „async” oraz „await” wprowadzonych we frameworku .NET 4.5. Może nam się to przydać w sytuacji przetwarzania żądania wykonującego wiele operacji wejścia/wyjścia, silnie obciążającego połączenie sieciowe lub procesor. Opisywanej asynchroniczności nie należy mylić z JavaScript’owymi żądaniami asynchronicz...

Dziel się z innymi:
burczu programator - blog: Kontrolery asynchroniczne w ASP.NET MVC 4

Web 3695 dni, 6 godzin, 59 minut temu burczu 240 źrodło rozwiń

W poprzednich wpisach omawialiśmy wewnętrzną implementację async\await. Dziś kolejne przykłady pokazujące, czego należy unikać aby optymalizować nasz kod. Jak wiemy, użycie await generuje masę kodu i niesie ze sobą alokację dodatkowych obiektów – maszyna stanów, wątki, wrappery itp. W zasadzie sama alokacja w .NET nie jest jakiś wielkim problemem i jest znacząco szybsza niż w językach niezarządzanych. Niestety, pomimo wielu optymalizacji dokonywanych przez GC, późniejsze ich zwolnienie jest czasochłonn...

Dziel się z innymi:
Piotr Zieliński » Async\Await–wydajność, część IV (buforowanie)

Sztuka programowania 3901 dni, 17 godzin, 43 minuty temu pzielinski 115 źrodło rozwiń

Zacznijmy od synchronicznego kodu:internalclass Program { privatestaticvoid Main(string[] args) { ShortMethod1(); ShortMethod2(); ShortMethod3(); } privatestaticvoid ShortMethod1() { Console.WriteLine("1"); } privatestaticvoid ShortMethod2() { Console.WriteLine("2"); } privatestaticvoid ShortMethod3() { Console.WriteLine("3"); } } Mamy powyżej przykład 3 metod, które wykonują bardzo proste operacje. Nie są one zbyt skompl...

Dziel się z innymi:
Piotr Zieliński » Async\Await–wydajność, część III (grupuj operacje)

Sztuka programowania 3904 dni, 15 godzin, 58 minut temu pzielinski 80 źrodło rozwiń

Zanim przejdziemy do pokazania przykładów jak optymalizować async\await najpierw trzeba zrozumieć implementację wewnętrzną w .NET. Bez tego ciężko będzie cokolwiek optymalizować. Na początku async\await wydawał mi się również czymś niezwykłym, a jak zacząłem zagłębiać się w kod IL, okazało się, że to bardzo prosty mechanizm i mógłby być napisany przez każdego z nas. Kod korzystający z async\await wygląda na synchroniczny. Pod spodem jednak są zwykłe callback’i – dokładnie tak jakby było to napisane w po...

Tagi: async, await
Dziel się z innymi:
Piotr Zieliński » Async\Await–wydajność, część II (implementacja wewnętrzna)

Sztuka programowania 3907 dni, 10 godzin, 20 minut temu pzielinski 161 źrodło rozwiń

W kolejnych kilku wpisach, zajmiemy się async\await ale od strony wydajnościowej. Jeśli ktoś nie wie do czego te słowa kluczowe służą, zachęcam przeczytać np. mój artykuł o programowaniu asynchronicznym w .NET 4.5. Sposób korzystania z async\await jest bardzo prosty. Do tego stopnia, że programowanie asynchroniczne wygląda w zasadzie tak jak synchroniczne podejście. W kodzie nie ma callback’ow a przepływ logiki wygląda na sekwencyjny. Niestety, trzeba być świadomym jakie pułapki czekają na programistów...

Tagi: async, await
Dziel się z innymi:
Piotr Zieliński » Async\Await–wydajność, część I

Sztuka programowania 3910 dni, 14 godzin, 46 minut temu pzielinski 287 źrodło rozwiń

An asynchronous operations become very popular in modern programming because by using its developers can take full advantage of multicore processors and perform several operation at the same time. Multithreding exists in ASP.NET since 2.0 version but it was very sophisticated to use it. However starting from .NET 4.5, ASP.NET is fully compatible with all these great features. To demonstrate how to start with the asynchronous operation in ASP.NET 4.5 I`ve created very simple solution which consist of ...

Dziel się z innymi:
[EN] Asynchronous actions in ASP.NET

Web 3951 dni, 17 godzin, 28 minut temu dzapart 58 źrodło rozwiń

Bawiłem się ostatnio aplikacją (WPF, .NET 4.5, C# 5 async await), która wyświetla na żywo obraz z kamerki i skanuje go w poszukiwaniu pewnych informacji. Chcąc maksymalnie zwiększyć wydajność, doszedłem do implementacji Timera, który sam dostosowuje swój interwał, aby maksymalnie zrównoleglić periodyczne operacje i wykorzystać dostępne procesory.

Tagi: .Net, async, C#
Dziel się z innymi:
Auto Load Dispatcher Timer | Blog techniczny

Inne 3962 dni, 16 godzin, 21 minut temu FutureProcessing 155 źrodło rozwiń

Łapanie wyjątków w metodzie asynchronicznej nie jest niczym skomplikowanym. Należy tylko pamiętać o tym, iż mamy do czynienia z różnymi możliwymi scenariuszami wyjątków. Metoda oznaczona słowem kluczowym async zawiera przeważnie jedną lub więcej wywołań metod ze słowem kluczowym await. Await stoi przed metodą zwracającą typ Task. Pierwsza zasada to ta, iż await nie może się pojawić się w bloku catch lub finally.

Tagi: .Net, async, await, C#
Dziel się z innymi:
Programowanie w .NET: async, await - przechwytywanie wyjątków

Inne 4166 dni, 5 godzin, 39 minut temu psz750 144 źrodło rozwiń

Zaczniemy znów od kawałka kodu. Przeanalizujmy w jaki sposób wykonywana jest powyższa metod...

Tagi: .Net, async, await, C#
Dziel się z innymi:
Programowanie w .NET: async, await - przetwarzanie metody asynchronicznej

Inne 4166 dni, 2 godziny, 43 minuty temu psz750 454 źrodło rozwiń

Nietypowo, na początek trochę kodu. Co czyni powyższą metodę asynchroniczną? Sygnatura metody zawiera słowo kluczowe async, nazwa metody zawiera przyrostek Async, typ zwracany to: Task(TResult), Task lub void, metoda zawiera przynajmniej jedno słowo kluczowe await.

Tagi: .Net, async, await, C#
Dziel się z innymi:
Programowanie w .NET: await, async - konwencje i fakty

Inne 4168 dni, 7 godzin, 23 minuty temu psz750 454 źrodło rozwiń

Zamrażanie interfejsu użytkownika podczas wykonywania skomplikowanej czynności nie jest dobrym pomysłem. Aplikacja, która "zamiera" nie zachęca do dalszego wykorzystywania przez użytkownika. Programowanie asynchroniczne z drugiej strony wiąże się z większym nakładem pracy oraz bardziej skomplikowanym kodem wynikowym. Na pomoc przychodzi .NET 4.5 wraz z nowymi słowami kluczowymi: async, await. Jak je stosować i w jaki sposób pomagają nam tworzyć aplikacje asynchroniczne zobaczymy w poniższym przykładzie...

Tagi: .Net, async, await, C#
Dziel się z innymi:
Programowanie w .NET: Asynch await - asynchroniczność w .NET 4.5

Inne 4170 dni, 7 godzin, 34 minuty temu psz750 183 źrodło rozwiń

Opis, trzech wzorców asynchroniczności stosowanych w .net framework.

Dziel się z innymi:
Podejście do asynchroniczności w .NET

Sztuka programowania 4177 dni, 5 godzin, 55 minut temu us3r 225 źrodło rozwiń

RxExtension - to biblioteka od Microsoftu ułatwiająca programowanie asynchroniczne. Opiera się na istniejących interfejsach IObservable oraz IObserver. W RX wiadomości są traktowane jako strumienie danych, do których należy się przypiąć i reagować na pojawienie się nowej wiadomości. Najnowsza wersja ma już cyferkę 2, ale nie jest jeszcze oznaczona jako stabilna. Ja do nauki wykorzystałem wersję 1 oraz książeczkę dostępną na stronie RX - Dev Labs Hands On. Na Channel9 są jakieś filmy na temat RX. Poniże...

Dziel się z innymi:
jstadnicki: RX extensions w przykładach

Inne 4299 dni, 16 godzin, 7 minut temu Paweł Łukasik 124 źrodło rozwiń

Jestem w miarę świeżo po przeczytanie Programowania Windows 8  (w wersji preview) napisanej przez pana który się nazywa Charles Petzold. Krótka recenzja: Aktualnie książka zawiera siedem rozdziałów, w nich omówienie XAML, mechanizmu wiązań, kontrolek, layout i krótko o WinRT. Jeśli ktoś z was pisał już w WPF czy SL nie znajdzie w niej (przypominam że mówię ciągle o wersji preview) nic ciekawego. Prawie nic, otóż są dwie nowości warte uwagi wprowadzone w nowszej wersji .NET. CallerMemberName oraz async/...

Dziel się z innymi:
jstadnicki: Async i Await w Windows8 - małe szoł

Sztuka programowania 4325 dni, 11 godzin, 16 minut temu Paweł Łukasik 178 źrodło rozwiń

1 2

Najaktywniejsi w tym miesiącu