Dylan/polishing (#12163)
* fixed slnf path, fixed options comment, renames * cleaned up sample
This commit is contained in:
parent
a784f4575b
commit
7b56439ca1
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"solution": {
|
"solution": {
|
||||||
"path": "C:\\Users\\t-dygra\\Desktop\\AspNetCore\\src\\Middleware\\Middleware.sln",
|
"path": "..\\Middleware.sln",
|
||||||
"projects": [
|
"projects": [
|
||||||
"..\\Hosting\\Abstractions\\src\\Microsoft.AspNetCore.Hosting.Abstractions.csproj",
|
"..\\Hosting\\Abstractions\\src\\Microsoft.AspNetCore.Hosting.Abstractions.csproj",
|
||||||
"..\\Hosting\\Hosting\\src\\Microsoft.AspNetCore.Hosting.csproj",
|
"..\\Hosting\\Hosting\\src\\Microsoft.AspNetCore.Hosting.csproj",
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@ namespace Microsoft.Extensions.DependencyInjection
|
||||||
{
|
{
|
||||||
public static partial class QueuePolicyServiceCollectionExtensions
|
public static partial class QueuePolicyServiceCollectionExtensions
|
||||||
{
|
{
|
||||||
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddStackQueue(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action<Microsoft.AspNetCore.ConcurrencyLimiter.QueuePolicyOptions> configure) { throw null; }
|
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddFIFOQueue(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action<Microsoft.AspNetCore.ConcurrencyLimiter.QueuePolicyOptions> configure) { throw null; }
|
||||||
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddTailDropQueue(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action<Microsoft.AspNetCore.ConcurrencyLimiter.QueuePolicyOptions> configure) { throw null; }
|
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddLIFOQueue(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action<Microsoft.AspNetCore.ConcurrencyLimiter.QueuePolicyOptions> configure) { throw null; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ namespace ConcurrencyLimiterSample
|
||||||
{
|
{
|
||||||
public void ConfigureServices(IServiceCollection services)
|
public void ConfigureServices(IServiceCollection services)
|
||||||
{
|
{
|
||||||
services.AddStackQueue((options) => {
|
services.AddLIFOQueue((options) => {
|
||||||
options.MaxConcurrentRequests = Environment.ProcessorCount;
|
options.MaxConcurrentRequests = Environment.ProcessorCount;
|
||||||
options.RequestQueueLimit = 50;
|
options.RequestQueueLimit = 50;
|
||||||
});
|
});
|
||||||
|
|
@ -39,6 +39,7 @@ namespace ConcurrencyLimiterSample
|
||||||
{
|
{
|
||||||
new WebHostBuilder()
|
new WebHostBuilder()
|
||||||
.UseKestrel()
|
.UseKestrel()
|
||||||
|
.UseContentRoot(Directory.GetCurrentDirectory()) // for cert file
|
||||||
.UseStartup<Startup>()
|
.UseStartup<Startup>()
|
||||||
.Build()
|
.Build()
|
||||||
.Run();
|
.Run();
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ namespace Microsoft.AspNetCore.ConcurrencyLimiter
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Maximum number of queued requests before the server starts rejecting connections with '503 Service Unavailible'.
|
/// Maximum number of queued requests before the server starts rejecting connections with '503 Service Unavailible'.
|
||||||
/// Defaults to 5000 queued requests.
|
/// This option is highly application dependant, and must be configured by the application.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int RequestQueueLimit { get; set; }
|
public int RequestQueueLimit { get; set; }
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ namespace Microsoft.Extensions.DependencyInjection
|
||||||
/// <param name="configure">Set the options used by the queue.
|
/// <param name="configure">Set the options used by the queue.
|
||||||
/// Mandatory, since <see cref="QueuePolicyOptions.MaxConcurrentRequests"></see> must be provided.</param>
|
/// Mandatory, since <see cref="QueuePolicyOptions.MaxConcurrentRequests"></see> must be provided.</param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public static IServiceCollection AddTailDropQueue(this IServiceCollection services, Action<QueuePolicyOptions> configure)
|
public static IServiceCollection AddFIFOQueue(this IServiceCollection services, Action<QueuePolicyOptions> configure)
|
||||||
{
|
{
|
||||||
services.Configure(configure);
|
services.Configure(configure);
|
||||||
services.AddSingleton<IQueuePolicy, FIFOQueuePolicy>();
|
services.AddSingleton<IQueuePolicy, FIFOQueuePolicy>();
|
||||||
|
|
@ -32,7 +32,7 @@ namespace Microsoft.Extensions.DependencyInjection
|
||||||
/// <param name="configure">Set the options used by the queue.
|
/// <param name="configure">Set the options used by the queue.
|
||||||
/// Mandatory, since <see cref="QueuePolicyOptions.MaxConcurrentRequests"></see> must be provided.</param>
|
/// Mandatory, since <see cref="QueuePolicyOptions.MaxConcurrentRequests"></see> must be provided.</param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public static IServiceCollection AddStackQueue(this IServiceCollection services, Action<QueuePolicyOptions> configure)
|
public static IServiceCollection AddLIFOQueue(this IServiceCollection services, Action<QueuePolicyOptions> configure)
|
||||||
{
|
{
|
||||||
services.Configure(configure);
|
services.Configure(configure);
|
||||||
services.AddSingleton<IQueuePolicy, LIFOQueuePolicy>();
|
services.AddSingleton<IQueuePolicy, LIFOQueuePolicy>();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue