StreamUpgradeProvider Class
Implements a custom upgrade provider, inherited from this abstract base class.
Assembly: System.ServiceModel (in System.ServiceModel.dll)
An example of a stream upgrade is to build a compression stream directly on top of the transport stream. To add a security upgrade, you additionally implement a class that derives from StreamSecurityUpgradeProvider. You can implement multiple upgrades, each wrapping the preceding one.
The upgrade process has the following steps:
Implement a class that derives from StreamUpgradeProvider.
Register it. You do this by creating a binding element for it, and registering the provider in a custom binding.
The derived class that you implement creates an instance of StreamUpgradeInitiator, which at run time initiates a request to the other end of its connection to upgrade the channel transport layer.
The derived class that you implement creates an instance of StreamUpgradeAcceptor, which at run time receives the upgrade request from the preceding step and, if possible, accepts the upgrade and returns the upgraded stream to the other side of its connection.
If there are additional upgrade requests, they are processed sequentially, as described in the preceding two steps.
System.ServiceModel.Channels.CommunicationObject
System.ServiceModel.Channels.StreamUpgradeProvider
System.ServiceModel.Channels.StreamSecurityUpgradeProvider
Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.