AnonymousPipeClientStream Konstruktorer

Definition

Initierar en ny instans av AnonymousPipeClientStream klassen.

Överlagringar

Name Description
AnonymousPipeClientStream(String)

Initierar en ny instans av AnonymousPipeClientStream klassen med den angivna strängrepresentationen av rörhandtaget.

AnonymousPipeClientStream(PipeDirection, SafePipeHandle)

Initierar en ny instans av AnonymousPipeClientStream klassen från det angivna handtaget.

AnonymousPipeClientStream(PipeDirection, String)

Initierar en ny instans av AnonymousPipeClientStream klassen med angiven rörriktning och en strängrepresentation av rörhandtaget.

AnonymousPipeClientStream(String)

Initierar en ny instans av AnonymousPipeClientStream klassen med den angivna strängrepresentationen av rörhandtaget.

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)

Parametrar

pipeHandleAsString
String

En sträng som representerar rörhandtaget.

Undantag

pipeHandleAsString är inte ett giltigt rörhandtag.

Exempel

I följande exempel visas ett sätt att skicka en sträng från en överordnad process till en underordnad process med hjälp av anonyma pipes. I det här exemplet skapas ett AnonymousPipeClientStream objekt i en underordnad process.

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

Kommentarer

För konstruktorer utan parameter PipeDirection är Instandardriktningen .

Gäller för

AnonymousPipeClientStream(PipeDirection, SafePipeHandle)

Initierar en ny instans av AnonymousPipeClientStream klassen från det angivna handtaget.

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);
public AnonymousPipeClientStream(System.IO.Pipes.PipeDirection direction, Microsoft.Win32.SafeHandles.SafePipeHandle safePipeHandle);
[<System.Security.SecurityCritical>]
new System.IO.Pipes.AnonymousPipeClientStream : System.IO.Pipes.PipeDirection * Microsoft.Win32.SafeHandles.SafePipeHandle -> System.IO.Pipes.AnonymousPipeClientStream
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)

Parametrar

direction
PipeDirection

Ett av uppräkningsvärdena som bestämmer riktningen för röret.

Anonyma rör kan bara vara i en riktning, så direction kan inte anges till InOut.

safePipeHandle
SafePipeHandle

Ett säkert handtag för röret som det här AnonymousPipeClientStream objektet kapslar in.

Attribut

Undantag

safePipeHandle är inte ett giltigt handtag.

safePipeHandle är null.

direction är inställt på InOut.

Ett I/O-fel, till exempel ett diskfel, har inträffat.

-eller-

Strömmen har stängts.

Exempel

I följande exempel visas ett sätt att skicka en sträng från en överordnad process till en underordnad process med hjälp av anonyma pipes. I det här exemplet skapas ett AnonymousPipeClientStream objekt i en underordnad process med PipeDirection värdet In.

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

Kommentarer

Ett PipeDirection värde för InOut stöds inte eftersom anonyma rör definieras som enkelriktade.

Gäller för

AnonymousPipeClientStream(PipeDirection, String)

Initierar en ny instans av AnonymousPipeClientStream klassen med angiven rörriktning och en strängrepresentation av rörhandtaget.

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

Parametrar

direction
PipeDirection

Ett av uppräkningsvärdena som bestämmer riktningen för röret.

Anonyma rör kan bara vara i en riktning, så direction kan inte anges till InOut.

pipeHandleAsString
String

En sträng som representerar rörhandtaget.

Attribut

Undantag

pipeHandleAsString är ett ogiltigt handtag.

pipeHandleAsString är null.

direction är inställt på InOut.

Exempel

I följande exempel visas ett sätt att skicka en sträng från en överordnad process till en underordnad process med hjälp av anonyma pipes. I det här exemplet skapas ett AnonymousPipeClientStream objekt i en underordnad process med PipeDirection värdet In.

//<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>

Kommentarer

Ett PipeDirection värde för InOut stöds inte eftersom anonyma rör definieras som enkelriktade.

Gäller för