System.ServiceModel 4.0.0.0 System.Object

An example of a stream upgrade is to build a compression stream directly on top of the transport stream. This class is used with and to implement a custom stream upgrade.

For a detailed description of the upgrade process, see .

To implement a custom upgrade initiator, inherit from this abstract base class.

- Constructor
  4.0.0.0
  To be added.

  Initializes a new instance of the class.

- Method
  4.0.0.0
  System.IAsyncResult `` `` ``

  This method calls and returns.

  This abstract method can be implemented to do asynchronous processing that initiates an upgrade.

  Returns an to be passed into the method.

  The stream to be upgraded. The method to call when the has completed. State information about the status of the asynchronous call.
- Method
  4.0.0.0
  System.IO.Stream ``

  For more information about using this method, see the remarks in .

  This method is the asynchronous callback method that is called after has completed.

  Returns the upgraded stream.

  The IAsyncResult returned from the method.
- Method
  4.0.0.0
  System.String

  This method returns a set of upgrade content types supported by the upgrade provider in the order in which they are expected. Upgrade providers that support a single upgrade return only a single value. Upgrade providers that support multiple upgrades return the values in order (for example, compression content type followed by the security content type).

  Returns the content type of the next upgrade to be performed.

  Returns the content type of the next upgrade.

- Method
  4.0.0.0
  System.IO.Stream ``

  This method can be called multiple times for each upgrade supported by the upgrade provider. For example, an upgrade provider that supports compression and security would call this method twice: first to upgrade the default transport streaming for compression, and second to upgrade the security. Subsequent calls to this method should pass in the upgrade stream from the previous call.

  Initiates the upgrade of the stream by requesting the other end of its connection to upgrade the channel transport layer.

  Returns the upgraded stream.

  The stream to be upgraded.