diff --git a/src/libraries/System.Windows.Extensions/src/System.Windows.Extensions.csproj b/src/libraries/System.Windows.Extensions/src/System.Windows.Extensions.csproj index 3eebeafe4770ed..57c7b3339abcad 100644 --- a/src/libraries/System.Windows.Extensions/src/System.Windows.Extensions.csproj +++ b/src/libraries/System.Windows.Extensions/src/System.Windows.Extensions.csproj @@ -98,7 +98,7 @@ System.Security.Cryptography.X509Certificates.X509SelectionFlag - + diff --git a/src/libraries/System.Windows.Extensions/src/System/Media/SoundPlayer.cs b/src/libraries/System.Windows.Extensions/src/System/Media/SoundPlayer.cs index c970d47a32c069..ed0aceff0ebefb 100644 --- a/src/libraries/System.Windows.Extensions/src/System/Media/SoundPlayer.cs +++ b/src/libraries/System.Windows.Extensions/src/System/Media/SoundPlayer.cs @@ -5,7 +5,7 @@ using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System.IO; -using System.Net; +using System.Net.Http; using System.Runtime.InteropServices; using System.Runtime.Serialization; using System.Threading; @@ -22,6 +22,7 @@ public class SoundPlayer : Component, ISerializable private Uri? _uri; private string _soundLocation = string.Empty; private int _loadTimeout = DefaultLoadTimeout; + private HttpClient _httpClient = new HttpClient(); // used to lock all synchronous calls to the SoundPlayer object private readonly ManualResetEvent _semaphore = new ManualResetEvent(true); @@ -261,16 +262,7 @@ private void LoadSync() // setup the http stream if (_uri != null && !_uri.IsFile && _stream == null) { -#pragma warning disable SYSLIB0014 // WebRequest, HttpWebRequest, ServicePoint, and WebClient are obsolete. Use HttpClient instead. - WebRequest webRequest = WebRequest.Create(_uri); -#pragma warning restore SYSLIB0014 - webRequest.Timeout = LoadTimeout; - - WebResponse webResponse; - webResponse = webRequest.GetResponse(); - - // now get the stream - _stream = webResponse.GetResponseStream(); + _stream = _httpClient.GetStreamAsync(_uri).Result; } // DO NOT assert - NRE is expected for null stream @@ -486,14 +478,7 @@ private async Task CopyStreamAsync(CancellationToken cancellationToken) // setup the http stream if (_uri != null && !_uri.IsFile && _stream == null) { -#pragma warning disable SYSLIB0014 // WebRequest, HttpWebRequest, ServicePoint, and WebClient are obsolete. Use HttpClient instead. - WebRequest webRequest = WebRequest.Create(_uri); -#pragma warning restore SYSLIB0014 - using (cancellationToken.Register(r => ((WebRequest)r!).Abort(), webRequest)) - { - WebResponse webResponse = await webRequest.GetResponseAsync().ConfigureAwait(false); - _stream = webResponse.GetResponseStream(); - } + _stream = _httpClient.GetStreamAsync(_uri, cancellationToken).Result; } _streamData = new byte[BlockSize];