Články v kategorii Threading
V tomto článku si ukážeme a budeme podrobněji diskutovat jednu ze zajímavých záležitosti, na které bychom mohli narazit při používání async/await v praxi.
V tomto článku jsme si ukázali jak je možné v Silverlight aplikaci ošetřovat výjimky, které vzniknout při zpracování operace WCF služby na serveru. To nám umožní buď zachytit specifickou výjimku, pro kterou ve službě definujeme fault kontrakt nebo pouze přenést na klienta debug informace v případě obecné (neošetřené) výjimky. V obou těchto případech neobsahuje ale výjimka, která je na klientu vyhozená, původní stack trace prováděného asynchronního volání. Nyní ukážu způsob jakým lze i toto řešit.
Silverlight 5.0 pomoci Async Targeting Pack podporuje použití nové syntaxe resp. nových klíčových slov async/await. Pokud ale do Silverlight projektu přidáme referenci na WCF službu není zde podporováno automatické “zaobalení“ asynchronních volání operací WCF služby do metod vracející objekt Task. Toto si musíme udělat sami.
V tomto článku si na velmi jednoduchém příkladu vysvětlíme princip vykonávání kódu používající novou syntaxi jazyka C# 5.0 async/await.
Pokud potřebujeme nějaké operaci poskytnout data, občas se hodí, aby tyto data byla dostupná kdekoliv v kódu implementující danou operaci bez nutnosti předávat je parametrem apod. Platnost těchto dat je přitom ale logicky omezena jen na dobu vykonávání dané operace, takže by nebylo vhodné nebo při paralelním zpracování dokonce ani možné použití obyčejné statické proměnné. Za předpokladu, že je celé zpracování operace vykonáváno jen na jednom threadu, je docela elegantním řešením zavést kontext svázaný právě přímo s threadem.
Seriál Řešené příklady v ASP.NET - díl 4.
Občas potřebujeme ve webových aplikacích provádět dlouhotrvající úlohy, které se nevejdou do jednoho HTTP požadavku. V tomto článku si ukážeme jeden z možných přístupů k řešení tohoto problému.