AnonymousPipeClientStream.TransmissionMode Property


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Gets the pipe transmission mode supported by the current pipe.

Namespace:   System.IO.Pipes
Assembly:  System.Core (in System.Core.dll)

public override PipeTransmissionMode TransmissionMode {

Property Value

Type: System.IO.Pipes.PipeTransmissionMode

The PipeTransmissionMode supported by the current pipe.

Anonymous pipes do not support Message read mode.

The following example demonstrates a way to send a string from a parent process to a child process by using anonymous pipes. In this example, an AnonymousPipeClientStream object is created in a child process and the TransmissionMode is displayed to the console.

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]))
                // Show that anonymous Pipes do not support Message mode.
                    Console.WriteLine("[CLIENT] Setting ReadMode to \"Message\".");
                    pipeClient.ReadMode = PipeTransmissionMode.Message;
                catch (NotSupportedException e)
                    Console.WriteLine("[CLIENT] Execption:\n    {0}", e.Message);

                Console.WriteLine("[CLIENT] Current TransmissionMode: {0}.",

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

                    // Wait for 'sync message' from the server.
                        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...");

.NET Framework
Available since 3.5
Return to top