esemény
Intelligens alkalmazások létrehozása
márc. 17. 21 - márc. 21. 10
Csatlakozzon a meetup sorozathoz, hogy valós használati esetek alapján, skálázható AI-megoldásokat hozzon létre más fejlesztőkkel és szakértőkkel.
RegisztrációEzt a böngészőt már nem támogatjuk.
Frissítsen a Microsoft Edge-re, hogy kihasználhassa a legújabb funkciókat, a biztonsági frissítéseket és a technikai támogatást.
A .NET három mintát biztosít az aszinkron műveletek végrehajtásához:
Feladatalapú aszinkron minta (TAP), amely egyetlen metódust használ egy aszinkron művelet elindításának és befejezésének ábrázolására. A TAP a .NET-keretrendszer 4-ben jelent meg. Ez az aszinkron programozás ajánlott megközelítése a .NET-ben. A C# aszinkron és várakozási kulcsszavai, valamint az Async és await operátorok Visual Basic nyelvi támogatást nyújtanak a TAP-hoz. További információ: Feladatalapú aszinkron minta (TAP).
Eseményalapú aszinkron minta (EAP), amely az aszinkron viselkedést biztosító eseményalapú örökölt modell. Olyan metódust igényel, amely utótagot Async
és egy vagy több eseményt, eseménykezelő delegálási típust és EventArg
-származtatott típust használ. Az EAP a .NET-keretrendszer 2.0-s verzióban jelent meg. Az új fejlesztéshez már nem ajánlott. További információ: Eseményalapú aszinkron minta (EAP).
Aszinkron programozási modell (APM) minta (más néven IAsyncResult minta), amely az aszinkron viselkedést az interfészt használó IAsyncResult örökölt modell. Ebben a mintában a szinkron műveletekhez és End
metódusokhoz (például EndWrite
BeginWrite
egy aszinkron írási művelet implementálásához) van szükségBegin
. Ez a minta már nem ajánlott az új fejlesztéshez. További információ: Aszinkron programozási modell (APM).
A három minta aszinkron műveleteinek gyors összehasonlításához fontolja meg azt Read
a módszert, amely egy megadott mennyiségű adatot olvas be egy megadott pufferbe egy megadott eltolástól kezdve:
public class MyClass
{
public int Read(byte [] buffer, int offset, int count);
}
A metódus TAP megfelelője a következő egyetlen ReadAsync
metódust teszi elérhetővé:
public class MyClass
{
public Task<int> ReadAsync(byte [] buffer, int offset, int count);
}
Az EAP-megfelelő a következő típusokat és tagokat teszi elérhetővé:
public class MyClass
{
public void ReadAsync(byte [] buffer, int offset, int count);
public event ReadCompletedEventHandler ReadCompleted;
}
Az APM-megfelelő a következő módszereket és EndRead
módszereket teszi közzéBeginRead
:
public class MyClass
{
public IAsyncResult BeginRead(
byte [] buffer, int offset, int count,
AsyncCallback callback, object state);
public int EndRead(IAsyncResult asyncResult);
}
esemény
Intelligens alkalmazások létrehozása
márc. 17. 21 - márc. 21. 10
Csatlakozzon a meetup sorozathoz, hogy valós használati esetek alapján, skálázható AI-megoldásokat hozzon létre más fejlesztőkkel és szakértőkkel.
RegisztrációOktatás
Modul
Apply interfaces in code - Training
Discover how default implementations in interfaces enable you to add new methods directly into an interface and provide a default implementation.
Dokumentáció
Speciális .NET-programozási dokumentáció
Ismerje meg a .NET fejlett programozási fogalmait, például a szálkezelést, a párhuzamos programozást, az aszinkron programozási modelleket, a natív interop-t és a memóriakezelést.
Feladatalapú aszinkron minta (TAP): Bevezetés és áttekintés - .NET
Ismerje meg a feladatalapú aszinkron mintát (TAP), és hasonlítsa össze az örökölt mintákkal: Aszinkron programozási modell (APM) és eseményalapú aszinkron minta (EAP).
A feladatalapú aszinkron minta implementálása - .NET
Ez a cikk bemutatja, hogyan implementálhatja a feladatalapú aszinkron mintát. Használatával számítási és I/O-kötésű aszinkron műveleteket valósíthat meg.