Jak niedawno odkryłem na mój koszt, robienie await
, gdy nie ma kontekstu synchronizacji, może spowodować kod po oczekiwaniu na wykonanie w innym wątku.Jak mogę uzyskać kontynuację po oczekiwaniu na wykonanie w tym samym wątku?
Mam obecnie problemy z dziwnym zachowaniem w dodatku do VSTO, co moim zdaniem jest prawdopodobnie wynikiem tego zachowania Podczas przetwarzania zdarzeń wywoływanych przez aplikację Office nie istnieje kontekst synchronizacji (chyba że utworzę formularz, który utworzy kontekst synchronizacji).
Moje pytanie dotyczy tego, czy tworzenie formularza jest najlepszym/najskuteczniejszym sposobem zapewnienia, że mam kontekst synchronizacji, lub czy jest prostszy sposób to zrobić.
Czy nie byłoby łatwiej nie używać słowa "czekam na" w tym przypadku? Jeśli używany interfejs API jest tylko asynchroniczny, możesz to osiągnąć, używając 'Task'' 'Result' lub' Wait() '. – svick
@svick: Domyślam się, że jeśli chcę poczekać na tę samą nitkę, to jest to zachowanie "synchroniczne". Hmmm ... tak, myślę, że tak. *Westchnienie*. Jestem trochę zagubiony w tych rzeczach, szczerze mówiąc. –