diff --git a/Core/EwsHttpWebRequest.cs b/Core/EwsHttpWebRequest.cs index dc5705b4..d07a17bc 100644 --- a/Core/EwsHttpWebRequest.cs +++ b/Core/EwsHttpWebRequest.cs @@ -284,6 +284,15 @@ public bool KeepAlive set { this.request.KeepAlive = value; } } + /// + /// Gets or sets a value that indicates whether to allow high-speed NTLM-authenticated connection sharing. + /// + public bool UnsafeAuthenticatedConnectionSharing + { + get { return this.request.UnsafeAuthenticatedConnectionSharing; } + set { this.request.UnsafeAuthenticatedConnectionSharing = value; } + } + /// /// Gets or sets the name of the connection group for the request. /// diff --git a/Core/ExchangeServiceBase.cs b/Core/ExchangeServiceBase.cs index da3303a8..95f2e6fe 100644 --- a/Core/ExchangeServiceBase.cs +++ b/Core/ExchangeServiceBase.cs @@ -81,6 +81,7 @@ public abstract class ExchangeServiceBase private string userAgent = ExchangeService.defaultUserAgent; private bool acceptGzipEncoding = true; private bool keepAlive = true; + private bool unsafeAuthenticatedConnectionSharing = false; private string connectionGroupName; private string clientRequestId; private bool returnClientRequestId; @@ -146,6 +147,7 @@ internal IEwsHttpWebRequest PrepareHttpWebRequestForUrl( request.AllowAutoRedirect = allowAutoRedirect; request.CookieContainer = this.CookieContainer; request.KeepAlive = this.keepAlive; + request.UnsafeAuthenticatedConnectionSharing = this.unsafeAuthenticatedConnectionSharing ; request.ConnectionGroupName = this.connectionGroupName; if (acceptGzipEncoding) @@ -545,6 +547,7 @@ internal ExchangeServiceBase(ExchangeServiceBase service, ExchangeVersion reques this.userAgent = service.userAgent; this.acceptGzipEncoding = service.acceptGzipEncoding; this.keepAlive = service.keepAlive; + this.unsafeAuthenticatedConnectionSharing = service.unsafeAuthenticatedConnectionSharing ; this.connectionGroupName = service.connectionGroupName; this.timeZone = service.timeZone; this.httpHeaders = service.httpHeaders; @@ -823,6 +826,22 @@ public bool KeepAlive } } + /// + /// Gets or sets a value that indicates whether to allow high-speed NTLM-authenticated connection sharing. + /// + public bool UnsafeAuthenticatedConnectionSharing + { + get + { + return this.unsafeAuthenticatedConnectionSharing; + } + + set + { + this.unsafeAuthenticatedConnectionSharing = value; + } + } + /// /// Gets or sets the name of the connection group for the request. /// @@ -925,4 +944,4 @@ internal IEwsHttpWebRequestFactory HttpWebRequestFactory #endregion } -} \ No newline at end of file +} diff --git a/Interfaces/IEwsHttpWebRequest.cs b/Interfaces/IEwsHttpWebRequest.cs index caa2df6e..8bca4d35 100644 --- a/Interfaces/IEwsHttpWebRequest.cs +++ b/Interfaces/IEwsHttpWebRequest.cs @@ -228,6 +228,14 @@ bool KeepAlive get; set; } + /// + /// Gets or sets a value that indicates whether to allow high-speed NTLM-authenticated connection sharing. + /// + bool UnsafeAuthenticatedConnectionSharing + { + get; set; + } + /// /// Gets or sets the name of the connection group for the request. ///