Felsökning.Utilities.Reentrants
0.0.3-beta
.NET Core 1.0
.NET Standard 1.1
.NET Framework 4.5
This is a prerelease version of Felsökning.Utilities.Reentrants.
Install-Package Felsökning.Utilities.Reentrants -Version 0.0.3-beta
dotnet add package Felsökning.Utilities.Reentrants --version 0.0.3-beta
<PackageReference Include="Felsökning.Utilities.Reentrants" Version="0.0.3-beta" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Felsökning.Utilities.Reentrants --version 0.0.3-beta
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Felsökning.Utilities.Reentrants, 0.0.3-beta"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install Felsökning.Utilities.Reentrants as a Cake Addin
#addin nuget:?package=Felsökning.Utilities.Reentrants&version=0.0.3-beta&prerelease
// Install Felsökning.Utilities.Reentrants as a Cake Tool
#tool nuget:?package=Felsökning.Utilities.Reentrants&version=0.0.3-beta&prerelease
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Initial release includes a class called ReentrantHttpClient. You can use this class to avail of a singleton instance of the HttpClient object, to conserve resources. Further information on why HttpClient is a special case can be found in these locations:
https://aspnetmonsters.com/2016/08/2016-08-27-httpclientwrong/ https://mobtowers.com/2017/12/15/httpclient-for-high-throughput-applications/
Sample use:
using (ReentrantHttpClient newClient = new ReentrantHttpClient(hostname: "https://www.linkedin.com/li/track"))
{
int[] x = new int[10];
for(int i = 0; i < 10; i++)
{
x.SetValue(value: i, index: i);
}
newClient.SetAcceptApplicationJsonHeaders();
Parallel.ForEach(
x,
obj =>
{
Stopwatch stopWatch = new Stopwatch();
stopWatch.Start();
Console.WriteLine(value: $"Thread {obj} has started and is waiting to check out the client.");
newClient.WaitForCheckOut();
Console.WriteLine(value: $"Thread {obj} has receieved the HttpClient and took {stopWatch.Elapsed}.");
string response = newClient.WaitForAsyncString().Result;
Console.WriteLine($"Thread {obj} has received {response} from LinkedIn.");
Console.WriteLine($"Thread {obj} is sleeping for 2 seconds...");
Thread.Sleep((int)TimeSpan.FromSeconds(2).TotalMilliseconds);
Console.WriteLine(value: $"Thread {obj} is checking-in the client.");
newClient.CheckIn();
});
x = null;
}
Console.ReadLine();
Product | Versions |
---|---|
.NET | net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows |
.NET Core | netcoreapp1.0 netcoreapp1.1 netcoreapp2.0 netcoreapp2.1 netcoreapp2.2 netcoreapp3.0 netcoreapp3.1 |
.NET Standard | netstandard1.1 netstandard1.2 netstandard1.3 netstandard1.4 netstandard1.5 netstandard1.6 netstandard2.0 netstandard2.1 |
.NET Framework | net45 net451 net452 net46 net461 net462 net463 net47 net471 net472 net48 |
MonoAndroid | monoandroid |
MonoMac | monomac |
MonoTouch | monotouch |
Tizen | tizen30 tizen40 tizen60 |
Universal Windows Platform | uap uap10.0 |
Windows Phone | wpa81 |
Windows Store | netcore netcore45 netcore451 |
Xamarin.iOS | xamarinios |
Xamarin.Mac | xamarinmac |
Xamarin.TVOS | xamarintvos |
Xamarin.WatchOS | xamarinwatchos |
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.
-
.NETCoreApp 1.0
- Microsoft.NETCore.App (>= 1.0.5)
-
.NETCoreApp 1.1
- Microsoft.NETCore.App (>= 1.1.2)
-
.NETCoreApp 2.0
- No dependencies.
-
.NETCoreApp 2.1
- No dependencies.
-
.NETFramework 4.5
- No dependencies.
-
.NETFramework 4.5.1
- No dependencies.
-
.NETFramework 4.5.2
- No dependencies.
-
.NETFramework 4.6
- No dependencies.
-
.NETFramework 4.6.1
- No dependencies.
-
.NETFramework 4.6.2
- No dependencies.
-
.NETFramework 4.7
- No dependencies.
-
.NETFramework 4.7.1
- No dependencies.
-
.NETFramework 4.7.2
- No dependencies.
-
.NETFramework 4.8
- No dependencies.
-
.NETStandard 1.1
- NETStandard.Library (>= 1.6.1)
-
.NETStandard 1.2
- NETStandard.Library (>= 1.6.1)
-
.NETStandard 1.3
- NETStandard.Library (>= 1.6.1)
-
.NETStandard 1.4
- NETStandard.Library (>= 1.6.1)
-
.NETStandard 1.5
- NETStandard.Library (>= 1.6.1)
-
.NETStandard 1.6
- NETStandard.Library (>= 1.6.1)
-
.NETStandard 2.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
0.0.3-beta | 241 | 6/22/2019 |
Expanded to include more of the .NETs.