HttpCookieContainerBindingElement Class

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

Enables management of how HTTP cookies are handled in HTTP requests and responses.

Inheritance Hierarchy


Namespace: System.ServiceModel.Channels
Assembly: System.ServiceModel (in System.ServiceModel.dll)


Public Class HttpCookieContainerBindingElement _
    Inherits BindingElement
public class HttpCookieContainerBindingElement : BindingElement

The HttpCookieContainerBindingElement type exposes the following members.


Name Description
HttpCookieContainerBindingElement()()() Initializes a new instance of the HttpCookieContainerBindingElement class.
HttpCookieContainerBindingElement(HttpCookieContainerBindingElement) Initializes a new instance of the HttpCookieContainerBindingElement class from a specified binding element.



Name Description
BuildChannelFactory<(Of <(TChannel>)>) Initializes a channel factory for producing channels of a specified type from the binding context. (Overrides BindingElement..::.BuildChannelFactory<(Of <(TChannel>)>)(BindingContext).)
CanBuildChannelFactory<(Of <(TChannel>)>) Returns a value that indicates whether the binding element can build a channel factory for a specific type of channel. (Inherited from BindingElement.)
Clone Returns a copy of the current binding element object. (Overrides BindingElement..::.Clone()()().)
Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Finalize Allows an object to try to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.)
GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
GetProperty<(Of <(T>)>) Returns a typed object requested, if present, from the appropriate layer in the binding stack. (Overrides BindingElement..::.GetProperty<(Of <(T>)>)(BindingContext).)
GetType Gets the Type of the current instance. (Inherited from Object.)
MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
ToString Returns a string that represents the current object. (Inherited from Object.)



You can specify an instance of CookieContainer to be used when issuing an HTTP request. Any cookies in the CookieContainer applicable to the request will automatically be included when the HTTP request is made, and any cookies that are returned as part of the HTTP response will automatically be placed in the CookieContainer.

The same CookieContainer instance can be used for multiple channels, which is often useful when one service is used to provide cookies for authentication and another service requires these authentication cookies provided by the first service. To gain access to the CookieContainer instance, call GetProperty<(Of <(T>)>)()()() on a channel constructed from a binding that included the HttpCookieContainerBindingElement, using the IHttpCookieContainerManager type parameter. Then, access the CookieContainer property. The property is nullNothingnullptra null reference (Nothing in Visual Basic) by default, signifying that no CookieContainer should be used.

Using HttpCookieContainerBindingElement to manage cookies is necessary only when you have registered an alternative HTTP stack using RegisterPrefix. The default browser-based HTTP stack in Windows Phone automatically uses the browser’s cookie repository and does not require this mechanism. If you attempt to set a CookieContainer using this mechanism with the browser-based HTTP stack, the channel will throw an exception when attempting to issue an HTTP request.


The HttpCookieContainerBindingElement works only with the HttpTransportBindingElement and HttpsTransportBindingElement transport binding elements.

Version Information

Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0


Windows Phone

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also


System.ServiceModel.Channels Namespace