CryptoStream Osztály

Definíció

Definiál egy adatfolyamot, amely az adatfolyamokat titkosítási átalakításokhoz kapcsolja.

public ref class CryptoStream : System::IO::Stream
public class CryptoStream : System.IO.Stream
[System.Runtime.InteropServices.ComVisible(true)]
public class CryptoStream : System.IO.Stream
type CryptoStream = class
    inherit Stream
    interface IDisposable
[<System.Runtime.InteropServices.ComVisible(true)>]
type CryptoStream = class
    inherit Stream
    interface IDisposable
Public Class CryptoStream
Inherits Stream
Öröklődés
CryptoStream
Öröklődés
Attribútumok
Megvalósítás

Példák

Az alábbi példa bemutatja, hogyan lehet sztringet CryptoStream titkosítani. Ez a metódus a Aes megadott Key és inicializálási vektorral (IV) rendelkező osztályt használja.

using System;
using System.IO;
using System.Security.Cryptography;

class AesExample
{
    public static void Main()
    {
        try
        {
            string original = "Here is some data to encrypt!";

            // Create a new instance of the Aes class.
            // This generates a new key and initialization vector (IV).
            using (Aes myAes = Aes.Create())
            {
                // Encrypt the string to an array of bytes.
                byte[] encrypted = EncryptStringToBytes(original, myAes.Key, myAes.IV);

                // Decrypt the bytes to a string.
                string roundtrip = DecryptStringFromBytes(encrypted, myAes.Key, myAes.IV);

                // Display the original data and the decrypted data.
                Console.WriteLine("Original:   {0}", original);
                Console.WriteLine("Round trip: {0}", roundtrip);
            }
        }
        catch (Exception e)
        {
            Console.WriteLine("Error: {0}", e.Message);
        }
    }

    static byte[] EncryptStringToBytes(string plainText, byte[] Key, byte[] IV)
    {
        // Check arguments.
        if (plainText == null || plainText.Length <= 0)
            throw new ArgumentNullException(nameof(plainText));
        if (Key == null || Key.Length <= 0)
            throw new ArgumentNullException(nameof(Key));
        if (IV == null || IV.Length <= 0)
            throw new ArgumentNullException(nameof(IV));
        byte[] encrypted;

        // Create a Aes object with the specified key and IV.
        using (Aes aesAlg = Aes.Create())
        {
            aesAlg.Key = Key;
            aesAlg.IV = IV;

            // Create an encryptor to perform the stream transform.
            ICryptoTransform encryptor = aesAlg.CreateEncryptor(aesAlg.Key, aesAlg.IV);

            // Create the streams used for encryption.
            using (MemoryStream msEncrypt = new())
            {
                using (CryptoStream csEncrypt = new(msEncrypt, encryptor, CryptoStreamMode.Write))
                {
                    using (StreamWriter swEncrypt = new(csEncrypt))
                    {
                        // Write all data to the stream.
                        swEncrypt.Write(plainText);
                    }
                    encrypted = msEncrypt.ToArray();
                }
            }
        }

        // Return the encrypted bytes from the memory stream.
        return encrypted;
    }

    static string DecryptStringFromBytes(byte[] cipherText, byte[] Key, byte[] IV)
    {
        // Check arguments.
        if (cipherText == null || cipherText.Length <= 0)
            throw new ArgumentNullException(nameof(cipherText));
        if (Key == null || Key.Length <= 0)
            throw new ArgumentNullException(nameof(Key));
        if (IV == null || IV.Length <= 0)
            throw new ArgumentNullException(nameof(IV));

        // Declare the string used to hold the decrypted text.
        string plaintext = null;

        // Create a Aes object with the specified key and IV.
        using (Aes aesAlg = Aes.Create())
        {
            aesAlg.Key = Key;
            aesAlg.IV = IV;

            // Create a decryptor to perform the stream transform.
            ICryptoTransform decryptor = aesAlg.CreateDecryptor(aesAlg.Key, aesAlg.IV);

            // Create the streams used for decryption.
            using (MemoryStream msDecrypt = new(cipherText))
            {
                using (CryptoStream csDecrypt = new(msDecrypt, decryptor, CryptoStreamMode.Read))
                {
                    using (StreamReader srDecrypt = new(csDecrypt))
                    {

                        // Read the decrypted bytes from the decrypting stream
                        // and place them in a string.
                        plaintext = srDecrypt.ReadToEnd();
                    }
                }
            }
        }

        return plaintext;
    }
}
Imports System.IO
Imports System.Security.Cryptography

Class AesExample

    Public Shared Sub Main()
        Try
            Dim original As String = "Here is some data to encrypt!"

            ' Create a new instance of the Aes class.
            ' This generates a new key and initialization vector (IV).
            Using myAes = Aes.Create()

                ' Encrypt the string to an array of bytes.
                Dim encrypted As Byte() = EncryptStringToBytes(original, myAes.Key, myAes.IV)

                ' Decrypt the bytes to a string.
                Dim roundtrip As String = DecryptStringFromBytes(encrypted, myAes.Key, myAes.IV)

                'Display the original data and the decrypted data.
                Console.WriteLine("Original:   {0}", original)
                Console.WriteLine("Round Trip: {0}", roundtrip)
            End Using
        Catch e As Exception
            Console.WriteLine("Error: {0}", e.Message)
        End Try
    End Sub

    Shared Function EncryptStringToBytes(ByVal plainText As String, ByVal Key() As Byte, ByVal IV() As Byte) As Byte()
        ' Check arguments.
        If plainText Is Nothing OrElse plainText.Length <= 0 Then
            Throw New ArgumentNullException(NameOf(plainText))
        End If
        If Key Is Nothing OrElse Key.Length <= 0 Then
            Throw New ArgumentNullException(NameOf(Key))
        End If
        If IV Is Nothing OrElse IV.Length <= 0 Then
            Throw New ArgumentNullException(NameOf(IV))
        End If
        Dim encrypted() As Byte

        ' Create an Aes object with the specified key and IV.
        Using aesAlg = Aes.Create()

            aesAlg.Key = Key
            aesAlg.IV = IV

            ' Create an encryptor to perform the stream transform.
            Dim encryptor As ICryptoTransform = aesAlg.CreateEncryptor(aesAlg.Key, aesAlg.IV)
            ' Create the streams used for encryption.
            Using msEncrypt As New MemoryStream()
                Using csEncrypt As New CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write)
                    Using swEncrypt As New StreamWriter(csEncrypt)

                        ' Write all data to the stream.
                        swEncrypt.Write(plainText)
                    End Using
                    encrypted = msEncrypt.ToArray()
                End Using
            End Using
        End Using

        ' Return the encrypted bytes from the memory stream.
        Return encrypted

    End Function 'EncryptStringToBytes

    Shared Function DecryptStringFromBytes(
        ByVal cipherText() As Byte,
        ByVal Key() As Byte,
        ByVal IV() As Byte) As String
        ' Check arguments.
        If cipherText Is Nothing OrElse cipherText.Length <= 0 Then
            Throw New ArgumentNullException(NameOf(cipherText))
        End If
        If Key Is Nothing OrElse Key.Length <= 0 Then
            Throw New ArgumentNullException(NameOf(Key))
        End If
        If IV Is Nothing OrElse IV.Length <= 0 Then
            Throw New ArgumentNullException(NameOf(IV))
        End If

        ' Declare the string used to hold the decrypted text.
        Dim plaintext As String = Nothing

        ' Create an Aes object with the specified key and IV.
        Using aesAlg = Aes.Create()
            aesAlg.Key = Key
            aesAlg.IV = IV

            ' Create a decryptor to perform the stream transform.
            Dim decryptor As ICryptoTransform = aesAlg.CreateDecryptor(aesAlg.Key, aesAlg.IV)

            ' Create the streams used for decryption.
            Using msDecrypt As New MemoryStream(cipherText)
                Using csDecrypt As New CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read)
                    Using srDecrypt As New StreamReader(csDecrypt)
                        ' Read the decrypted bytes from the decrypting stream
                        ' and place them in a string.
                        plaintext = srDecrypt.ReadToEnd()
                    End Using
                End Using
            End Using
        End Using

        Return plaintext

    End Function 'DecryptStringFromBytes 
End Class

Megjegyzések

A közös nyelvi futtatókörnyezet a titkosításhoz streamorientált kialakítást használ. Ennek a kialakításnak a lényege a CryptoStream. A implementált CryptoStream titkosítási objektumok összeláncolhatók a implementált Streamobjektumokkal, így az egyik objektum streamelt kimenete egy másik objektum bemenetébe is betáplálható. A köztes eredményt (az első objektum kimenetét) nem kell külön tárolni.

Important

A .NET 6-os és újabb verzióiban, amikor Stream.Read vagy Stream.ReadAsync meghívása N hosszúságú pufferrel történik, a művelet akkor fejeződik be, ha legalább 1 bájtot olvas be a streamből, vagy a mögöttes adatfolyam, amelyet körbefut, 0-t ad vissza a Read hívásából, jelezve, hogy nincs több adat. A .NET-keretrendszerben Stream.Read és Stream.ReadAsync csak akkor tér vissza, ha az összes N bájt be nem olvasható a streamből, vagy a mögöttes stream 0 értéket ad vissza a Read hívásából. Ha a kód feltételezi, hogy a Read metódusok mindaddig nem térnek vissza, amíg az összes N bájt be nem olvasható, előfordulhat, hogy nem olvassa be az összes tartalmat. További információ: Részleges és nulla bájtos olvasás streamekben.

A metódus meghívásával mindig explicit módon zárja be az CryptoStream objektumot, miután befejezte a Clear használatát. Ezzel kiüríti a mögöttes adatfolyamot, és az objektum az összes fennmaradó adatblokkot feldolgozhatja CryptoStream . Ha azonban kivétel történik a metódus meghívása Close előtt, előfordulhat, hogy az CryptoStream objektum nem lesz bezárva. Annak érdekében, hogy a Close metódus mindig meghívható legyen, helyezze a hívást a Clear metódushoz egyfinallytry/catch utasításblokkon belül.

Ez a típus implementálja a IDisposable felületet. Ha befejezte a típus használatát, a metódus meghívásával közvetlenül vagy közvetve el kell helyeznie Clear azt, ami pedig a implementációt IDisposable hívja meg. A típus közvetlen ártalmatlanításához hívja meg a Clear metódust egy try/catch blokkban. Ha közvetve szeretné megsemmisíteni, használjon olyan nyelvi szerkezetet, mint a using (C#-ban) vagy Using (a Visual Basicben).

Konstruktorok

Name Description
CryptoStream(Stream, ICryptoTransform, CryptoStreamMode, Boolean)

Inicializálja a CryptoStream osztály új példányát.

CryptoStream(Stream, ICryptoTransform, CryptoStreamMode)

Inicializálja az CryptoStream osztály új példányát egy céladatfolyammal, a használni kívánt átalakítással és a stream módjával.

Tulajdonságok

Name Description
CanRead

Beolvas egy értéket, amely jelzi, hogy az áram CryptoStream olvasható-e.

CanSeek

Egy értéket kap, amely jelzi, hogy az aktuálison CryptoStreambelül kereshet-e.

CanTimeout

Olyan értéket kap, amely meghatározza, hogy az aktuális stream időtúllépést okozhat-e.

(Öröklődés forrása Stream)
CanWrite

Beolvas egy értéket, amely jelzi, hogy az áram CryptoStream írható-e.

HasFlushedFinalBlock

Beolvas egy értéket, amely jelzi, hogy a végső pufferblokk meg lett-e írva az alapul szolgáló adatfolyamba.

Length

Lekéri a stream bájtban megadott hosszát.

Position

Lekéri vagy beállítja az aktuális streamen belüli pozíciót.

ReadTimeout

Ezredmásodpercben lekéri vagy beállítja azt az értéket, amely meghatározza, hogy a stream mennyi ideig kísérel meg olvasni, mielőtt túllépi az időkorlátot.

(Öröklődés forrása Stream)
WriteTimeout

Ezredmásodpercben lekéri vagy beállít egy értéket, amely meghatározza, hogy a stream mennyi ideig kísérel meg írni, mielőtt időtúllépést végezne.

(Öröklődés forrása Stream)

Metódusok

Name Description
BeginRead(Byte[], Int32, Int32, AsyncCallback, Object)

Aszinkron olvasási műveletet kezd. (Fontolja meg a használatot ReadAsync .)

BeginRead(Byte[], Int32, Int32, AsyncCallback, Object)

Aszinkron olvasási műveletet kezd. (Fontolja meg a használatot ReadAsync(Byte[], Int32, Int32) .)

(Öröklődés forrása Stream)
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)

Aszinkron írási műveletet kezd. (Fontolja meg a használatot WriteAsync .)

BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)

Aszinkron írási műveletet kezd. (Fontolja meg a használatot WriteAsync(Byte[], Int32, Int32) .)

(Öröklődés forrása Stream)
Clear()

Felszabadítja a .-hez használt összes erőforrást CryptoStream.

Close()

Bezárja az aktuális streamet, és felszabadítja az aktuális adatfolyamhoz társított összes erőforrást (például szoftvercsatornákat és fájlfogópontokat).

Close()

Bezárja az aktuális streamet, és felszabadítja az aktuális adatfolyamhoz társított összes erőforrást (például szoftvercsatornákat és fájlfogópontokat). A metódus meghívása helyett győződjön meg arról, hogy a stream megfelelően van elosztva.

(Öröklődés forrása Stream)
CopyTo(Stream, Int32)

Beolvassa a mögöttes adatfolyam bájtjait, alkalmazza a megfelelő titkosítási átalakításokat, és az eredményt a célstreambe írja.

CopyTo(Stream, Int32)

Beolvassa a bájtokat az aktuális streamből, és egy megadott pufferméret használatával egy másik streambe írja őket. Mindkét streampozíciót a másolt bájtok száma emeli ki.

(Öröklődés forrása Stream)
CopyTo(Stream)

Beolvassa a bájtokat az aktuális streamből, és egy másik streambe írja őket. Mindkét streampozíciót a másolt bájtok száma emeli ki.

(Öröklődés forrása Stream)
CopyToAsync(Stream, CancellationToken)

Aszinkron módon beolvassa a bájtokat az aktuális streamből, és egy megadott lemondási jogkivonat használatával egy másik streambe írja őket. Mindkét streampozíciót a másolt bájtok száma emeli ki.

(Öröklődés forrása Stream)
CopyToAsync(Stream, Int32, CancellationToken)

Aszinkron módon beolvassa a mögöttes adatfolyam bájtjait, alkalmazza a megfelelő titkosítási átalakításokat, és az eredményt a célstreambe írja.

CopyToAsync(Stream, Int32, CancellationToken)

Aszinkron módon beolvassa a bájtokat az aktuális streamből, és egy megadott pufferméret és lemondási jogkivonat használatával egy másik streambe írja őket. Mindkét streampozíciót a másolt bájtok száma emeli ki.

(Öröklődés forrása Stream)
CopyToAsync(Stream, Int32)

Aszinkron módon beolvassa a bájtokat az aktuális adatfolyamból, és egy megadott puffermérettel egy másik streambe írja őket. Mindkét streampozíciót a másolt bájtok száma emeli ki.

(Öröklődés forrása Stream)
CopyToAsync(Stream)

Aszinkron módon beolvassa a bájtokat az aktuális streamből, és egy másik streambe írja őket. Mindkét streampozíciót a másolt bájtok száma emeli ki.

(Öröklődés forrása Stream)
CreateObjRef(Type)

Létrehoz egy objektumot, amely tartalmazza a távoli objektumokkal való kommunikációhoz használt proxy létrehozásához szükséges összes releváns információt.

(Öröklődés forrása MarshalByRefObject)
CreateWaitHandle()
Elavult.
Elavult.
Elavult.

Objektum lefoglalása WaitHandle .

(Öröklődés forrása Stream)
Dispose()

Felszabadítja a .-hez használt összes erőforrást Stream.

(Öröklődés forrása Stream)
Dispose(Boolean)

Felszabadítja a felügyelt erőforrások által CryptoStream használt nem felügyelt erőforrásokat, és opcionálisan felszabadítja a felügyelt erőforrásokat.

DisposeAsync()

Aszinkron módon felszabadítja a nem felügyelt erőforrásokat, amelyeket a CryptoStream.

EndRead(IAsyncResult)

Megvárja, amíg a függőben lévő aszinkron olvasás befejeződik. (Fontolja meg a használatot ReadAsync .)

EndRead(IAsyncResult)

Megvárja, amíg a függőben lévő aszinkron olvasás befejeződik. (Fontolja meg a használatot ReadAsync(Byte[], Int32, Int32) .)

(Öröklődés forrása Stream)
EndWrite(IAsyncResult)

Aszinkron írási művelet befejezése. (Fontolja meg a használatot WriteAsync .)

EndWrite(IAsyncResult)

Aszinkron írási művelet befejezése. (Fontolja meg a használatot WriteAsync(Byte[], Int32, Int32) .)

(Öröklődés forrása Stream)
Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
Finalize()

Lehetővé teszi az objektumok számára, hogy megpróbálják felszabadítani az erőforrásokat, és más tisztítási műveleteket hajtsanak végre, mielőtt a szemétgyűjtés visszanyeri azt.

Flush()

Törli az aktuális adatfolyam összes pufferét, és a pufferelt adatokat a mögöttes eszközre írja.

FlushAsync()

Aszinkron módon törli az adatfolyam összes pufferét, és a pufferelt adatokat a mögöttes eszközre írja.

(Öröklődés forrása Stream)
FlushAsync(CancellationToken)

A jelenlegi stream összes pufferét aszinkron módon törli, a pufferelt adatokat a mögöttes eszközre írja, és figyeli a lemondási kérelmeket.

FlushFinalBlock()

Frissíti a mögöttes adatforrást vagy adattárat a puffer aktuális állapotával, majd törli a puffert.

FlushFinalBlockAsync(CancellationToken)

Aszinkron módon frissíti az alapul szolgáló adatforrást vagy adattárat a puffer aktuális állapotával, majd törli a puffert.

GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetLifetimeService()
Elavult.

Lekéri a példány élettartamszabályzatát vezérlő aktuális élettartam-szolgáltatásobjektumot.

(Öröklődés forrása MarshalByRefObject)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
InitializeLifetimeService()
Elavult.

Beolvas egy élettartam-szolgáltatásobjektumot a példány élettartam-szabályzatának szabályozásához.

(Öröklődés forrása MarshalByRefObject)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
MemberwiseClone(Boolean)

Az aktuális MarshalByRefObject objektum sekély másolatát hozza létre.

(Öröklődés forrása MarshalByRefObject)
ObjectInvariant()
Elavult.

Támogatja a Contract.

(Öröklődés forrása Stream)
Read(Byte[], Int32, Int32)

Beolvassa az aktuális streamből származó bájtok sorozatát, és az olvasási bájtok számával előrelépteti a streamen belüli pozíciót.

Read(Span<Byte>)

Ha egy származtatott osztályban felülbírált, beolvassa az aktuális adatfolyamból származó bájtok sorozatát, és az olvasási bájtok számával előrelép a streamben.

(Öröklődés forrása Stream)
ReadAsync(Byte[], Int32, Int32, CancellationToken)

Aszinkron módon olvas be egy bájtsort az aktuális streamből, az olvasási bájtok számával előrelép a streamben, és figyeli a lemondási kérelmeket.

ReadAsync(Byte[], Int32, Int32)

Aszinkron módon beolvassa az aktuális adatfolyamból származó bájtok sorozatát, és az olvasási bájtok számával előrelépteti a streamen belüli pozíciót.

(Öröklődés forrása Stream)
ReadAsync(Memory<Byte>, CancellationToken)

Aszinkron módon beolvassa a bájtok sorozatát az aktuális adatfolyamból, az olvasási bájtok számával előrelép a streamben, és figyeli a lemondási kérelmeket.

ReadAsync(Memory<Byte>, CancellationToken)

Aszinkron módon beolvassa a bájtok sorozatát az aktuális adatfolyamból, az olvasási bájtok számával előrelép a streamben, és figyeli a lemondási kérelmeket.

(Öröklődés forrása Stream)
ReadAtLeast(Span<Byte>, Int32, Boolean)

Legalább egy bájtot olvas be az aktuális adatfolyamból, és az olvasási bájtok számával előrelép a streamen belül.

(Öröklődés forrása Stream)
ReadAtLeastAsync(Memory<Byte>, Int32, Boolean, CancellationToken)

Aszinkron módon legalább egy minimális bájtszámot olvas be az aktuális streamből, az olvasási bájtok számával előrelép a streamen belül, és figyeli a lemondási kérelmeket.

(Öröklődés forrása Stream)
ReadByte()

Beolvassa a bájtot a streamből, és egy bájttal előrelép a streamben, vagy -1 ad vissza, ha a stream végén van.

ReadByte()

Beolvassa a bájtot a streamből, és egy bájttal előrelép a streamben, vagy -1 ad vissza, ha a stream végén van.

(Öröklődés forrása Stream)
ReadExactly(Byte[], Int32, Int32)

Beolvassa a bájtok count számát az aktuális streamből, és előrelép a streamen belüli pozíción.

(Öröklődés forrása Stream)
ReadExactly(Span<Byte>)

Beolvassa a bájtokat az aktuális adatfolyamból, és a streamen belüli pozíciót a feltöltésig buffer előrelépteti.

(Öröklődés forrása Stream)
ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken)

Aszinkron módon beolvassa a bájtok count számát az aktuális streamből, előrelép a streamben, és figyeli a lemondási kérelmeket.

(Öröklődés forrása Stream)
ReadExactlyAsync(Memory<Byte>, CancellationToken)

Aszinkron módon beolvassa a bájtokat az aktuális adatfolyamból, a streamen belüli pozíciót a feltöltésig buffer , és figyeli a lemondási kérelmeket.

(Öröklődés forrása Stream)
Seek(Int64, SeekOrigin)

Beállítja az aktuális streamen belüli pozíciót.

SetLength(Int64)

Az aktuális stream hosszát állítja be.

ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)
Write(Byte[], Int32, Int32)

Bájtok sorozatát írja az aktuálisba CryptoStream , és a megírt bájtok számával előrelépteti a stream aktuális pozícióját.

Write(ReadOnlySpan<Byte>)

Ha egy származtatott osztályban felülbírált, bájtok sorozatát írja az aktuális adatfolyamba, és a megírt bájtok számával előrelép a stream aktuális pozícióján.

(Öröklődés forrása Stream)
WriteAsync(Byte[], Int32, Int32, CancellationToken)

Bájtok sorozatát aszinkron módon írja az aktuális streambe, a megírt bájtok számával előrelépteti az aktuális pozíciót a streamben, és figyeli a lemondási kérelmeket.

WriteAsync(Byte[], Int32, Int32)

Aszinkron módon bájtok sorozatát írja az aktuális adatfolyamba, és a megírt bájtok számával előrelépteti a stream aktuális pozícióját.

(Öröklődés forrása Stream)
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Aszinkron módon bájtok sorozatát írja az aktuális streambe, az aktuális pozíciót a streamen belül a megírt bájtok számával lépteti előre, és figyeli a lemondási kérelmeket.

WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Aszinkron módon bájtok sorozatát írja az aktuális streambe, az aktuális pozíciót a streamen belül a megírt bájtok számával lépteti előre, és figyeli a lemondási kérelmeket.

(Öröklődés forrása Stream)
WriteByte(Byte)

Bájtot ír a stream aktuális helyére, és egy bájttal előrelépteti a streamen belüli pozíciót.

WriteByte(Byte)

Bájtot ír a stream aktuális helyére, és egy bájttal előrelépteti a streamen belüli pozíciót.

(Öröklődés forrása Stream)

Explicit interfész-implementációk

Name Description
IDisposable.Dispose()

Ez az API a termékinfrastruktúrát támogatja, és közvetlenül a kódból nem használható.

Felszabadítja az osztály aktuális példánya CryptoStream által használt erőforrásokat.

Bővítő metódusok

Name Description
ConfigureAwait(IAsyncDisposable, Boolean)

Konfigurálja, hogy az aszinkron eldobható feladatok hogyan lesznek végrehajtva.

CopyToAsync(Stream, PipeWriter, CancellationToken)

Aszinkron módon beolvassa a bájtokat a Stream megadottból, és egy lemondási jogkivonat használatával írja őket a megadottba PipeWriter.

A következőre érvényes:

Lásd még