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];