AuthenticatedStream 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供方法,以跨數據流傳遞認證,並要求或執行用戶端應用程式的驗證。
public ref class AuthenticatedStream abstract : System::IO::Stream
public abstract class AuthenticatedStream : System.IO.Stream
type AuthenticatedStream = class
inherit Stream
Public MustInherit Class AuthenticatedStream
Inherits Stream
- 繼承
- 繼承
- 衍生
範例
下列範例示範如何顯示已驗證數據流的屬性。
// The following class displays the properties of an authenticatedStream.
public ref class AuthenticatedStreamReporter
{
public:
static void DisplayProperties( AuthenticatedStream^ stream )
{
Console::WriteLine( L"IsAuthenticated: {0}", stream->IsAuthenticated );
Console::WriteLine( L"IsMutuallyAuthenticated: {0}", stream->IsMutuallyAuthenticated );
Console::WriteLine( L"IsEncrypted: {0}", stream->IsEncrypted );
Console::WriteLine( L"IsSigned: {0}", stream->IsSigned );
Console::WriteLine( L"IsServer: {0}", stream->IsServer );
}
};
// The following class displays the properties of an authenticatedStream.
public class AuthenticatedStreamReporter
{
public static void DisplayProperties(AuthenticatedStream stream)
{
Console.WriteLine("IsAuthenticated: {0}", stream.IsAuthenticated);
Console.WriteLine("IsMutuallyAuthenticated: {0}", stream.IsMutuallyAuthenticated);
Console.WriteLine("IsEncrypted: {0}", stream.IsEncrypted);
Console.WriteLine("IsSigned: {0}", stream.IsSigned);
Console.WriteLine("IsServer: {0}", stream.IsServer);
}
}
' The following class displays the properties of an AuthenticatedStream.
Public Class AuthenticatedStreamReporter
Public Shared Sub DisplayProperties(stream As AuthenticatedStream)
Console.WriteLine("IsAuthenticated: {0}", stream.IsAuthenticated)
Console.WriteLine("IsMutuallyAuthenticated: {0}", stream.IsMutuallyAuthenticated)
Console.WriteLine("IsEncrypted: {0}", stream.IsEncrypted)
Console.WriteLine("IsSigned: {0}", stream.IsSigned)
Console.WriteLine("IsServer: {0}", stream.IsServer)
End Sub
End Class
備註
這個抽象類提供驗證數據流通用的方法和屬性。
已驗證的數據流可以提供驗證、數據簽署和加密服務,以協助維護使用 InnerStream傳輸之數據的完整性和機密性。
衍生自 AuthenticatedStream 的類別所實作的安全性通訊協定,以及客戶端和伺服器上支援的安全性通訊協定,將決定應用程式可用的安全性功能。 NegotiateStream 和 SslStream 類別會繼承自 AuthenticatedStream,並分別實作交涉和安全套接字層安全性通訊協定。
給實施者的注意事項
衍生類別中必須覆寫下列成員:IsAuthenticated、IsEncrypted、IsMutuallyAuthenticated、IsServer和 IsSigned。
建構函式
AuthenticatedStream(Stream, Boolean) |
初始化 AuthenticatedStream 類別的新實例。 |
屬性
CanRead |
在衍生類別中覆寫時,取得值,指出目前數據流是否支援讀取。 (繼承來源 Stream) |
CanSeek |
在衍生類別中覆寫時,取得值,指出目前數據流是否支持搜尋。 (繼承來源 Stream) |
CanTimeout |
取得值,這個值會判斷目前的數據流是否可以逾時。 (繼承來源 Stream) |
CanWrite |
在衍生類別中覆寫時,取得值,指出目前數據流是否支援寫入。 (繼承來源 Stream) |
InnerStream |
取得這個 AuthenticatedStream 用於傳送和接收數據的數據流。 |
IsAuthenticated |
取得 Boolean 值,指出驗證是否成功。 |
IsEncrypted |
取得 Boolean 值,指出使用此 AuthenticatedStream 傳送的數據是否已加密。 |
IsMutuallyAuthenticated |
取得 Boolean 值,指出是否已驗證伺服器和用戶端。 |
IsServer |
取得 Boolean 值,指出連線的本機端是否以伺服器身分驗證。 |
IsSigned |
取得 Boolean 值,指出是否使用此數據流傳送的數據已簽署。 |
LeaveInnerStreamOpen |
取得這個 AuthenticatedStream 用於傳送和接收數據的數據流是否已保持開啟狀態。 |
Length |
在衍生類別中覆寫時,取得數據流的位元組長度。 (繼承來源 Stream) |
Position |
在衍生類別中覆寫時,取得或設定目前數據流中的位置。 (繼承來源 Stream) |
ReadTimeout |
取得或設定值,以毫秒為單位,決定數據流在逾時之前嘗試讀取的時間長度。 (繼承來源 Stream) |
WriteTimeout |
取得或設定值,以毫秒為單位,決定數據流在逾時之前嘗試寫入的時間長度。 (繼承來源 Stream) |
方法
BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) |
開始異步讀取作業。 (請考慮改用 ReadAsync(Byte[], Int32, Int32)。 (繼承來源 Stream) |
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) |
開始異步寫入作業。 (請考慮改用 WriteAsync(Byte[], Int32, Int32)。 (繼承來源 Stream) |
Close() |
關閉目前的數據流,並釋放與目前數據流相關聯的任何資源(例如套接字和檔句柄)。 請確定已正確處置數據流,而不是呼叫此方法。 (繼承來源 Stream) |
CopyTo(Stream) |
從目前的數據流讀取位元組,並將其寫入另一個數據流。 這兩個數據流位置都會依複製的位元元組數目進階。 (繼承來源 Stream) |
CopyTo(Stream, Int32) |
從目前的數據流讀取位元組,並使用指定的緩衝區大小將它們寫入另一個數據流。 這兩個數據流位置都會依複製的位元元組數目進階。 (繼承來源 Stream) |
CopyToAsync(Stream) |
以異步方式從目前的數據流讀取位元組,並將其寫入另一個數據流。 這兩個數據流位置都會依複製的位元元組數目進階。 (繼承來源 Stream) |
CopyToAsync(Stream, CancellationToken) |
使用指定的取消標記,以異步方式從目前數據流讀取位元組,並將其寫入另一個數據流。 這兩個數據流位置都會依複製的位元元組數目進階。 (繼承來源 Stream) |
CopyToAsync(Stream, Int32) |
使用指定的緩衝區大小,以異步方式從目前數據流讀取位元組,並將其寫入另一個數據流。 這兩個數據流位置都會依複製的位元元組數目進階。 (繼承來源 Stream) |
CopyToAsync(Stream, Int32, CancellationToken) |
使用指定的緩衝區大小和取消標記,以異步方式從目前數據流讀取位元組,並將其寫入另一個數據流。 這兩個數據流位置都會依複製的位元元組數目進階。 (繼承來源 Stream) |
CreateObjRef(Type) |
建立物件,其中包含產生用來與遠端物件通訊之 Proxy 所需的所有相關信息。 (繼承來源 MarshalByRefObject) |
CreateWaitHandle() |
已淘汰.
已淘汰.
已淘汰.
配置 WaitHandle 物件。 (繼承來源 Stream) |
Dispose() |
釋放 Stream所使用的所有資源。 (繼承來源 Stream) |
Dispose(Boolean) |
釋放 AuthenticatedStream 所使用的 Unmanaged 資源,並選擇性地釋放 Managed 資源。 |
DisposeAsync() |
以異步方式釋放 AuthenticatedStream所使用的 Unmanaged 和 Managed 資源。 |
DisposeAsync() |
以異步方式釋放 Stream所使用的 Unmanaged 資源。 (繼承來源 Stream) |
EndRead(IAsyncResult) |
等候暫止的異步讀取完成。 (請考慮改用 ReadAsync(Byte[], Int32, Int32)。 (繼承來源 Stream) |
EndWrite(IAsyncResult) |
結束異步寫入作業。 (請考慮改用 WriteAsync(Byte[], Int32, Int32)。 (繼承來源 Stream) |
Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
Flush() |
在衍生類別中覆寫時,清除此數據流的所有緩衝區,並導致任何緩衝的數據寫入基礎裝置。 (繼承來源 Stream) |
FlushAsync() |
以異步方式清除此數據流的所有緩衝區,並導致任何緩衝的數據寫入基礎裝置。 (繼承來源 Stream) |
FlushAsync(CancellationToken) |
以異步方式清除此數據流的所有緩衝區、導致任何緩衝的數據寫入基礎裝置,並監視取消要求。 (繼承來源 Stream) |
GetHashCode() |
做為預設哈希函式。 (繼承來源 Object) |
GetLifetimeService() |
已淘汰.
擷取控制這個實例存留期原則的目前存留期服務物件。 (繼承來源 MarshalByRefObject) |
GetType() |
取得目前實例的 Type。 (繼承來源 Object) |
InitializeLifetimeService() |
已淘汰.
取得存留期服務物件,以控制這個實例的存留期原則。 (繼承來源 MarshalByRefObject) |
MemberwiseClone() |
建立目前 Object的淺層複本。 (繼承來源 Object) |
MemberwiseClone(Boolean) |
建立目前 MarshalByRefObject 對象的淺層複本。 (繼承來源 MarshalByRefObject) |
ObjectInvariant() |
已淘汰.
提供 Contract的支援。 (繼承來源 Stream) |
Read(Byte[], Int32, Int32) |
在衍生類別中覆寫時,從目前數據流讀取位元組序列,並將數據流中的位置依讀取的位元組數目往前移。 (繼承來源 Stream) |
Read(Span<Byte>) |
在衍生類別中覆寫時,從目前數據流讀取位元組序列,並將數據流中的位置依讀取的位元組數目往前移。 (繼承來源 Stream) |
ReadAsync(Byte[], Int32, Int32) |
以異步方式從目前數據流讀取位元組序列,並依讀取的位元元組數目將數據流中的位置往前移。 (繼承來源 Stream) |
ReadAsync(Byte[], Int32, Int32, CancellationToken) |
以異步方式從目前數據流讀取位元組序列、依讀取的位元元組數目將數據流中的位置往前移,並監視取消要求。 (繼承來源 Stream) |
ReadAsync(Memory<Byte>, CancellationToken) |
以異步方式從目前數據流讀取位元組序列、依讀取的位元元組數目將數據流中的位置往前移,並監視取消要求。 (繼承來源 Stream) |
ReadAtLeast(Span<Byte>, Int32, Boolean) |
從目前數據流讀取至少一個字節數目,並將數據流中的位置依讀取的位元組數目往前移。 (繼承來源 Stream) |
ReadAtLeastAsync(Memory<Byte>, Int32, Boolean, CancellationToken) |
以異步方式從目前數據流讀取至少一個字節數目、依讀取的位元組數目將數據流中的位置往前移,並監視取消要求。 (繼承來源 Stream) |
ReadByte() |
從數據流讀取位元組,並在數據流結尾處將數據流中的位置往前移一個字節,或在數據流結尾傳回 -1。 (繼承來源 Stream) |
ReadExactly(Byte[], Int32, Int32) |
從目前數據流讀取 |
ReadExactly(Span<Byte>) |
從目前的數據流讀取位元組,並將位置往前移,直到填入 |
ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken) |
以異步方式從目前數據流讀取 |
ReadExactlyAsync(Memory<Byte>, CancellationToken) |
以異步方式從目前數據流讀取位元組、將數據流中的位置往前移,直到填入 |
Seek(Int64, SeekOrigin) |
在衍生類別中覆寫時,設定目前數據流中的位置。 (繼承來源 Stream) |
SetLength(Int64) |
在衍生類別中覆寫時,設定目前數據流的長度。 (繼承來源 Stream) |
ToString() |
傳回表示目前 物件的字串。 (繼承來源 Object) |
Write(Byte[], Int32, Int32) |
在衍生類別中覆寫時,將位元組序列寫入目前數據流,並依寫入的位元組數目將這個數據流中的目前位置往前移。 (繼承來源 Stream) |
Write(ReadOnlySpan<Byte>) |
在衍生類別中覆寫時,將位元組序列寫入目前數據流,並依寫入的位元組數目將這個數據流中的目前位置往前移。 (繼承來源 Stream) |
WriteAsync(Byte[], Int32, Int32) |
以異步方式將位元組序列寫入目前數據流,並依寫入的位元元組數目,將這個數據流中的目前位置往前移。 (繼承來源 Stream) |
WriteAsync(Byte[], Int32, Int32, CancellationToken) |
以異步方式將位元組序列寫入至目前的數據流、依寫入的位元組數目將這個數據流中的目前位置往前移,並監視取消要求。 (繼承來源 Stream) |
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) |
以異步方式將位元組序列寫入至目前的數據流、依寫入的位元組數目將這個數據流中的目前位置往前移,並監視取消要求。 (繼承來源 Stream) |
WriteByte(Byte) |
將位元組寫入數據流中的目前位置,並將數據流中的位置往前移一個字節。 (繼承來源 Stream) |
擴充方法
CopyToAsync(Stream, PipeWriter, CancellationToken) |
使用取消標記,以異步方式從 Stream 讀取位元組,並將其寫入指定的 PipeWriter。 |
ConfigureAwait(IAsyncDisposable, Boolean) |
設定如何執行從異步可處置專案傳回的工作等候。 |