Fujiy Util 1.1.0

8/23/2014 12:56:24 AM By Felipe Pessoto

Publiquei uma nova versão do Fujiy Util.

Um detalhe que eu não tinha percebido até alguns dias, o que acontece com código assíncrono já que inicialmente ele não dispara uma Exception?

O problema não é especifico na biblioteca, mas em qualquer código que você use algum tipo de Cache onde faça o cache de uma Task, o que vai ser cada vez mais comum, ainda mais considerando que as chamadas que normalmente usam cache, são assíncronas.

O que acontece é que ao chamas o método a ser cacheado, ele retorna com sucesso uma Task, em Status pendente. Posteriormente ela será "awaited" e possivelmente ser cancelada ou falhar, mas nesse momentoa Task já estava no cache. Então agora antes de retornar qualquer item do tipo Task, verifico se não está com o Status Faulted ou Canceled.

https://www.nuget.org/packages/Fujiy.Util/


Comments (0)