Freigeben über


AnonymousPipeClientStream Konstruktoren

Definition

Initialisiert eine neue Instanz der AnonymousPipeClientStream-Klasse.

Überlädt

AnonymousPipeClientStream(String)

Initialisiert eine neue Instanz der AnonymousPipeClientStream-Klasse mit der angegebenen Zeichenfolgendarstellung des Pipehandles.

AnonymousPipeClientStream(PipeDirection, SafePipeHandle)

Initialisiert eine neue Instanz der AnonymousPipeClientStream-Klasse aus dem angegebenen Handle.

AnonymousPipeClientStream(PipeDirection, String)

Initialisiert eine neue Instanz der AnonymousPipeClientStream-Klasse mit der angegebenen Piperichtung und einer Zeichenfolgendarstellung des Pipehandles.

AnonymousPipeClientStream(String)

Quelle:
AnonymousPipeClientStream.cs
Quelle:
AnonymousPipeClientStream.cs
Quelle:
AnonymousPipeClientStream.cs

Initialisiert eine neue Instanz der AnonymousPipeClientStream-Klasse mit der angegebenen Zeichenfolgendarstellung des Pipehandles.

public:
 AnonymousPipeClientStream(System::String ^ pipeHandleAsString);
public AnonymousPipeClientStream (string pipeHandleAsString);
new System.IO.Pipes.AnonymousPipeClientStream : string -> System.IO.Pipes.AnonymousPipeClientStream
Public Sub New (pipeHandleAsString As String)

Parameter

pipeHandleAsString
String

Eine Zeichenfolge, die das Pipehandle darstellt.

Ausnahmen

pipeHandleAsString ist kein gültiges Pipehandle.

Beispiele

Das folgende Beispiel veranschaulicht eine Möglichkeit zum Senden einer Zeichenfolge von einem übergeordneten Prozess an einen untergeordneten Prozess mithilfe anonymer Pipes. In diesem Beispiel wird ein AnonymousPipeClientStream -Objekt in einem untergeordneten Prozess erstellt.

using System;
using System.IO;
using System.IO.Pipes;

class PipeClient
{
    static void Main(string[] args)
    {
        if (args.Length > 0)
        {
            using (PipeStream pipeClient =
                new AnonymousPipeClientStream(args[0]))
            {

                Console.WriteLine("Current TransmissionMode: {0}.",
                   pipeClient.TransmissionMode);

                // Anonymous Pipes do not support Message mode.
                try
                {
                    Console.WriteLine("Setting ReadMode to \"Message\".");
                    pipeClient.ReadMode = PipeTransmissionMode.Message;
                }
                catch (NotSupportedException e)
                {
                    Console.WriteLine("EXCEPTION: {0}", e.Message);
                }

                using (StreamReader sr = new StreamReader(pipeClient))
                {
                    // Display the read text to the console
                    string temp;
                    while ((temp = sr.ReadLine()) != null)
                    {
                        Console.WriteLine(temp);
                    }
                }
            }
        }
        Console.Write("Press Enter to continue...");
        Console.ReadLine();
    }
}
Imports System.IO
Imports System.IO.Pipes

Class PipeClient

    Shared Sub Main(ByVal args As String())
        If (args.Length > 0) Then

            Using pipeClient As New AnonymousPipeClientStream(args(0))

                Console.WriteLine("Current TransmissionMode: {0}.", _
                   pipeClient.TransmissionMode)

                ' Anonymous Pipes do not support Message mode.
                Try
                    Console.WriteLine("Setting ReadMode to 'Message'.")
                    pipeClient.ReadMode = PipeTransmissionMode.Message
                Catch e As NotSupportedException
                    Console.WriteLine("EXCEPTION: {0}", e.Message)
                End Try

                Using sr As New StreamReader(pipeClient)

                    ' Display the read text to the console
                    Dim temp As String
                    temp = sr.ReadLine()
                    While Not temp = Nothing
                        Console.WriteLine(temp)
                        temp = sr.ReadLine()
                    End While
                End Using
            End Using
        End If
        Console.Write("Press Enter to continue...")
        Console.ReadLine()
    End Sub
End Class

Hinweise

Für Konstruktoren ohne Parameter PipeDirection ist Indie Standardrichtung .

Gilt für:

AnonymousPipeClientStream(PipeDirection, SafePipeHandle)

Quelle:
AnonymousPipeClientStream.cs
Quelle:
AnonymousPipeClientStream.cs
Quelle:
AnonymousPipeClientStream.cs

Initialisiert eine neue Instanz der AnonymousPipeClientStream-Klasse aus dem angegebenen Handle.

public:
 AnonymousPipeClientStream(System::IO::Pipes::PipeDirection direction, Microsoft::Win32::SafeHandles::SafePipeHandle ^ safePipeHandle);
public AnonymousPipeClientStream (System.IO.Pipes.PipeDirection direction, Microsoft.Win32.SafeHandles.SafePipeHandle safePipeHandle);
[System.Security.SecurityCritical]
public AnonymousPipeClientStream (System.IO.Pipes.PipeDirection direction, Microsoft.Win32.SafeHandles.SafePipeHandle safePipeHandle);
new System.IO.Pipes.AnonymousPipeClientStream : System.IO.Pipes.PipeDirection * Microsoft.Win32.SafeHandles.SafePipeHandle -> System.IO.Pipes.AnonymousPipeClientStream
[<System.Security.SecurityCritical>]
new System.IO.Pipes.AnonymousPipeClientStream : System.IO.Pipes.PipeDirection * Microsoft.Win32.SafeHandles.SafePipeHandle -> System.IO.Pipes.AnonymousPipeClientStream
Public Sub New (direction As PipeDirection, safePipeHandle As SafePipeHandle)

Parameter

direction
PipeDirection

Einer der Enumerationswerte, der die Richtung der Pipe bestimmt.

Anonyme Pipes dürfen nur eine Richtung aufweisen, daher kann direction nicht auf InOut festgelegt werden.

safePipeHandle
SafePipeHandle

Ein sicheres Handle für die Pipe, die von diesem AnonymousPipeClientStream-Objekt gekapselt wird.

Attribute

Ausnahmen

safePipeHandle ist kein gültiges Handle.

safePipeHandle ist null.

Für direction ist InOut festgelegt.

Es ist ein E/A-Fehler aufgetreten, beispielsweise ein Datenträgerfehler.

- oder -

Der Stream wurde geschlossen.

Beispiele

Das folgende Beispiel veranschaulicht eine Möglichkeit zum Senden einer Zeichenfolge von einem übergeordneten Prozess an einen untergeordneten Prozess mithilfe anonymer Pipes. In diesem Beispiel wird ein AnonymousPipeClientStream -Objekt in einem untergeordneten Prozess mit dem PipeDirection Wert Inerstellt.

using System;
using System.IO;
using System.IO.Pipes;

class PipeClient
{
    static void Main(string[] args)
    {
        if (args.Length > 0)
        {
            using (PipeStream pipeClient =
                new AnonymousPipeClientStream(args[0]))
            {

                Console.WriteLine("Current TransmissionMode: {0}.",
                   pipeClient.TransmissionMode);

                // Anonymous Pipes do not support Message mode.
                try
                {
                    Console.WriteLine("Setting ReadMode to \"Message\".");
                    pipeClient.ReadMode = PipeTransmissionMode.Message;
                }
                catch (NotSupportedException e)
                {
                    Console.WriteLine("EXCEPTION: {0}", e.Message);
                }

                using (StreamReader sr = new StreamReader(pipeClient))
                {
                    // Display the read text to the console
                    string temp;
                    while ((temp = sr.ReadLine()) != null)
                    {
                        Console.WriteLine(temp);
                    }
                }
            }
        }
        Console.Write("Press Enter to continue...");
        Console.ReadLine();
    }
}
Imports System.IO
Imports System.IO.Pipes

Class PipeClient

    Shared Sub Main(ByVal args As String())
        If (args.Length > 0) Then

            Using pipeClient As New AnonymousPipeClientStream(args(0))

                Console.WriteLine("Current TransmissionMode: {0}.", _
                   pipeClient.TransmissionMode)

                ' Anonymous Pipes do not support Message mode.
                Try
                    Console.WriteLine("Setting ReadMode to 'Message'.")
                    pipeClient.ReadMode = PipeTransmissionMode.Message
                Catch e As NotSupportedException
                    Console.WriteLine("EXCEPTION: {0}", e.Message)
                End Try

                Using sr As New StreamReader(pipeClient)

                    ' Display the read text to the console
                    Dim temp As String
                    temp = sr.ReadLine()
                    While Not temp = Nothing
                        Console.WriteLine(temp)
                        temp = sr.ReadLine()
                    End While
                End Using
            End Using
        End If
        Console.Write("Press Enter to continue...")
        Console.ReadLine()
    End Sub
End Class

Hinweise

Ein PipeDirection Wert von InOut wird nicht unterstützt, da anonyme Pipes als unidirektional definiert sind.

Gilt für:

AnonymousPipeClientStream(PipeDirection, String)

Quelle:
AnonymousPipeClientStream.cs
Quelle:
AnonymousPipeClientStream.cs
Quelle:
AnonymousPipeClientStream.cs

Initialisiert eine neue Instanz der AnonymousPipeClientStream-Klasse mit der angegebenen Piperichtung und einer Zeichenfolgendarstellung des Pipehandles.

public:
 AnonymousPipeClientStream(System::IO::Pipes::PipeDirection direction, System::String ^ pipeHandleAsString);
public AnonymousPipeClientStream (System.IO.Pipes.PipeDirection direction, string pipeHandleAsString);
[System.Security.SecurityCritical]
public AnonymousPipeClientStream (System.IO.Pipes.PipeDirection direction, string pipeHandleAsString);
new System.IO.Pipes.AnonymousPipeClientStream : System.IO.Pipes.PipeDirection * string -> System.IO.Pipes.AnonymousPipeClientStream
[<System.Security.SecurityCritical>]
new System.IO.Pipes.AnonymousPipeClientStream : System.IO.Pipes.PipeDirection * string -> System.IO.Pipes.AnonymousPipeClientStream
Public Sub New (direction As PipeDirection, pipeHandleAsString As String)

Parameter

direction
PipeDirection

Einer der Enumerationswerte, der die Richtung der Pipe bestimmt.

Anonyme Pipes dürfen nur eine Richtung aufweisen, daher kann direction nicht auf InOut festgelegt werden.

pipeHandleAsString
String

Eine Zeichenfolge, die das Pipehandle darstellt.

Attribute

Ausnahmen

pipeHandleAsString ist ein ungültiges Handle.

pipeHandleAsString ist null.

Für direction ist InOut festgelegt.

Beispiele

Das folgende Beispiel veranschaulicht eine Möglichkeit zum Senden einer Zeichenfolge von einem übergeordneten Prozess an einen untergeordneten Prozess mithilfe anonymer Pipes. In diesem Beispiel wird ein AnonymousPipeClientStream -Objekt in einem untergeordneten Prozess mit dem PipeDirection Wert Inerstellt.

//<snippet01>
#using <System.Core.dll>

using namespace System;
using namespace System::IO;
using namespace System::IO::Pipes;

ref class PipeClient
{
public:
    static void Main(array<String^>^ args)
    {
        if (args->Length > 1)
        {
            PipeStream^ pipeClient = gcnew AnonymousPipeClientStream(PipeDirection::In, args[1]);

            Console::WriteLine("[CLIENT] Current TransmissionMode: {0}.",
                pipeClient->TransmissionMode);

            StreamReader^ sr = gcnew StreamReader(pipeClient);

            // Display the read text to the console
            String^ temp;

            // Wait for 'sync message' from the server.
            do
            {
                Console::WriteLine("[CLIENT] Wait for sync...");
                temp = sr->ReadLine();
            }
            while (!temp->StartsWith("SYNC"));

            // Read the server data and echo to the console.
            while ((temp = sr->ReadLine()) != nullptr)
            {
                Console::WriteLine("[CLIENT] Echo: " + temp);
            }
            sr->Close();
            pipeClient->Close();
        }
        Console::Write("[CLIENT] Press Enter to continue...");
        Console::ReadLine();
    }
};

int main()
{
    array<String^>^ args = Environment::GetCommandLineArgs();
    PipeClient::Main(args);
}
//</snippet01>
//<snippet01>
using System;
using System.IO;
using System.IO.Pipes;

class PipeClient
{
    static void Main(string[] args)
    {
        if (args.Length > 0)
        {
            using (PipeStream pipeClient =
                new AnonymousPipeClientStream(PipeDirection.In, args[0]))
            {
                Console.WriteLine("[CLIENT] Current TransmissionMode: {0}.",
                   pipeClient.TransmissionMode);

                using (StreamReader sr = new StreamReader(pipeClient))
                {
                    // Display the read text to the console
                    string temp;

                    // Wait for 'sync message' from the server.
                    do
                    {
                        Console.WriteLine("[CLIENT] Wait for sync...");
                        temp = sr.ReadLine();
                    }
                    while (!temp.StartsWith("SYNC"));

                    // Read the server data and echo to the console.
                    while ((temp = sr.ReadLine()) != null)
                    {
                        Console.WriteLine("[CLIENT] Echo: " + temp);
                    }
                }
            }
        }
        Console.Write("[CLIENT] Press Enter to continue...");
        Console.ReadLine();
    }
}
//</snippet01>
'<snippet01>
Imports System.IO
Imports System.IO.Pipes

Class PipeClient
    Shared Sub Main(args() as String)
        If args.Length > 0 Then
            Using pipeClient As New AnonymousPipeClientStream(PipeDirection.In, args(0))
                Console.WriteLine("[CLIENT] Current TransmissionMode: {0}.", _
                   pipeClient.TransmissionMode)

                Using sr As New StreamReader(pipeClient)
                    ' Display the read text to the console
                    Dim temp As String

                    ' Wait for 'sync message' from the server.
                    Do
                        Console.WriteLine("[CLIENT] Wait for sync...")
                        temp = sr.ReadLine()
                    Loop While temp.StartsWith("SYNC") = False

                    ' Read the server data and echo to the console.
                    temp = sr.ReadLine()
                    While Not temp = Nothing
                        Console.WriteLine("[CLIENT] Echo: " + temp)
                        temp = sr.ReadLine()
                    End While
                End Using
            End Using
        End If
        Console.Write("[CLIENT] Press Enter to continue...")
        Console.ReadLine()
    End Sub
End Class
'</snippet01>

Hinweise

Ein PipeDirection Wert von InOut wird nicht unterstützt, da anonyme Pipes als unidirektional definiert sind.

Gilt für: