3c1f479b9d
Former-commit-id: 806294f5ded97629b74c85c09952f2a74fe182d9
61 lines
1.5 KiB
C#
61 lines
1.5 KiB
C#
using System;
|
|
using System.Net;
|
|
using System.ServiceModel;
|
|
|
|
namespace System.ServiceModel.Channels
|
|
{
|
|
[Obsolete ("Use AllowCookies.")]
|
|
public class HttpCookieContainerBindingElement : BindingElement
|
|
{
|
|
HttpCookieContainerManager manager;
|
|
|
|
public HttpCookieContainerBindingElement ()
|
|
{
|
|
manager = new HttpCookieContainerManager ();
|
|
}
|
|
|
|
protected HttpCookieContainerBindingElement (HttpCookieContainerBindingElement elementToBeCloned)
|
|
{
|
|
if (elementToBeCloned == null)
|
|
throw new ArgumentNullException ("elementToBeCloned");
|
|
|
|
manager = new HttpCookieContainerManager (elementToBeCloned.manager);
|
|
}
|
|
|
|
public override IChannelFactory<TChannel> BuildChannelFactory<TChannel> (BindingContext context)
|
|
{
|
|
if (context == null)
|
|
throw new ArgumentNullException ("context");
|
|
//context.RemainingBindingElements.Add (this);
|
|
return base.BuildChannelFactory<TChannel> (context);
|
|
}
|
|
|
|
public override BindingElement Clone ()
|
|
{
|
|
return new HttpCookieContainerBindingElement (this);
|
|
}
|
|
|
|
public override T GetProperty<T> (BindingContext context)
|
|
{
|
|
if (manager is T)
|
|
return (T) (object) manager;
|
|
return context.GetInnerProperty<T> ();
|
|
}
|
|
}
|
|
|
|
class HttpCookieContainerManager : IHttpCookieContainerManager
|
|
{
|
|
public HttpCookieContainerManager ()
|
|
{
|
|
CookieContainer = new CookieContainer ();
|
|
}
|
|
|
|
public HttpCookieContainerManager (HttpCookieContainerManager original)
|
|
{
|
|
CookieContainer = original.CookieContainer;
|
|
}
|
|
|
|
public CookieContainer CookieContainer { get; set; }
|
|
}
|
|
}
|