Move ResponseCaching pubternal types to internal (#9392)
This commit is contained in:
parent
039e505160
commit
c2ee82b49e
|
|
@ -17,7 +17,7 @@ namespace Microsoft.AspNetCore.ResponseCaching
|
||||||
}
|
}
|
||||||
public partial class ResponseCachingMiddleware
|
public partial class ResponseCachingMiddleware
|
||||||
{
|
{
|
||||||
public ResponseCachingMiddleware(Microsoft.AspNetCore.Http.RequestDelegate next, Microsoft.Extensions.Options.IOptions<Microsoft.AspNetCore.ResponseCaching.ResponseCachingOptions> options, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory, Microsoft.AspNetCore.ResponseCaching.Internal.IResponseCachingPolicyProvider policyProvider, Microsoft.AspNetCore.ResponseCaching.Internal.IResponseCachingKeyProvider keyProvider) { }
|
public ResponseCachingMiddleware(Microsoft.AspNetCore.Http.RequestDelegate next, Microsoft.Extensions.Options.IOptions<Microsoft.AspNetCore.ResponseCaching.ResponseCachingOptions> options, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory, Microsoft.Extensions.ObjectPool.ObjectPoolProvider poolProvider) { }
|
||||||
[System.Diagnostics.DebuggerStepThroughAttribute]
|
[System.Diagnostics.DebuggerStepThroughAttribute]
|
||||||
public System.Threading.Tasks.Task Invoke(Microsoft.AspNetCore.Http.HttpContext httpContext) { throw null; }
|
public System.Threading.Tasks.Task Invoke(Microsoft.AspNetCore.Http.HttpContext httpContext) { throw null; }
|
||||||
}
|
}
|
||||||
|
|
@ -29,80 +29,6 @@ namespace Microsoft.AspNetCore.ResponseCaching
|
||||||
public bool UseCaseSensitivePaths { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } }
|
public bool UseCaseSensitivePaths { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
namespace Microsoft.AspNetCore.ResponseCaching.Internal
|
|
||||||
{
|
|
||||||
public partial class CachedResponse : Microsoft.AspNetCore.ResponseCaching.Internal.IResponseCacheEntry
|
|
||||||
{
|
|
||||||
public CachedResponse() { }
|
|
||||||
public System.IO.Stream Body { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } }
|
|
||||||
public System.DateTimeOffset Created { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } }
|
|
||||||
public Microsoft.AspNetCore.Http.IHeaderDictionary Headers { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } }
|
|
||||||
public int StatusCode { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } }
|
|
||||||
}
|
|
||||||
public partial class CachedVaryByRules : Microsoft.AspNetCore.ResponseCaching.Internal.IResponseCacheEntry
|
|
||||||
{
|
|
||||||
public CachedVaryByRules() { }
|
|
||||||
public Microsoft.Extensions.Primitives.StringValues Headers { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } }
|
|
||||||
public Microsoft.Extensions.Primitives.StringValues QueryKeys { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } }
|
|
||||||
public string VaryByKeyPrefix { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } }
|
|
||||||
}
|
|
||||||
public partial interface IResponseCache
|
|
||||||
{
|
|
||||||
Microsoft.AspNetCore.ResponseCaching.Internal.IResponseCacheEntry Get(string key);
|
|
||||||
System.Threading.Tasks.Task<Microsoft.AspNetCore.ResponseCaching.Internal.IResponseCacheEntry> GetAsync(string key);
|
|
||||||
void Set(string key, Microsoft.AspNetCore.ResponseCaching.Internal.IResponseCacheEntry entry, System.TimeSpan validFor);
|
|
||||||
System.Threading.Tasks.Task SetAsync(string key, Microsoft.AspNetCore.ResponseCaching.Internal.IResponseCacheEntry entry, System.TimeSpan validFor);
|
|
||||||
}
|
|
||||||
public partial interface IResponseCacheEntry
|
|
||||||
{
|
|
||||||
}
|
|
||||||
public partial interface IResponseCachingKeyProvider
|
|
||||||
{
|
|
||||||
string CreateBaseKey(Microsoft.AspNetCore.ResponseCaching.Internal.ResponseCachingContext context);
|
|
||||||
System.Collections.Generic.IEnumerable<string> CreateLookupVaryByKeys(Microsoft.AspNetCore.ResponseCaching.Internal.ResponseCachingContext context);
|
|
||||||
string CreateStorageVaryByKey(Microsoft.AspNetCore.ResponseCaching.Internal.ResponseCachingContext context);
|
|
||||||
}
|
|
||||||
public partial interface IResponseCachingPolicyProvider
|
|
||||||
{
|
|
||||||
bool AllowCacheLookup(Microsoft.AspNetCore.ResponseCaching.Internal.ResponseCachingContext context);
|
|
||||||
bool AllowCacheStorage(Microsoft.AspNetCore.ResponseCaching.Internal.ResponseCachingContext context);
|
|
||||||
bool AttemptResponseCaching(Microsoft.AspNetCore.ResponseCaching.Internal.ResponseCachingContext context);
|
|
||||||
bool IsCachedEntryFresh(Microsoft.AspNetCore.ResponseCaching.Internal.ResponseCachingContext context);
|
|
||||||
bool IsResponseCacheable(Microsoft.AspNetCore.ResponseCaching.Internal.ResponseCachingContext context);
|
|
||||||
}
|
|
||||||
public partial class MemoryResponseCache : Microsoft.AspNetCore.ResponseCaching.Internal.IResponseCache
|
|
||||||
{
|
|
||||||
public MemoryResponseCache(Microsoft.Extensions.Caching.Memory.IMemoryCache cache) { }
|
|
||||||
public Microsoft.AspNetCore.ResponseCaching.Internal.IResponseCacheEntry Get(string key) { throw null; }
|
|
||||||
public System.Threading.Tasks.Task<Microsoft.AspNetCore.ResponseCaching.Internal.IResponseCacheEntry> GetAsync(string key) { throw null; }
|
|
||||||
public void Set(string key, Microsoft.AspNetCore.ResponseCaching.Internal.IResponseCacheEntry entry, System.TimeSpan validFor) { }
|
|
||||||
public System.Threading.Tasks.Task SetAsync(string key, Microsoft.AspNetCore.ResponseCaching.Internal.IResponseCacheEntry entry, System.TimeSpan validFor) { throw null; }
|
|
||||||
}
|
|
||||||
public partial class ResponseCachingContext
|
|
||||||
{
|
|
||||||
internal ResponseCachingContext() { }
|
|
||||||
public System.TimeSpan? CachedEntryAge { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } }
|
|
||||||
public Microsoft.AspNetCore.ResponseCaching.Internal.CachedVaryByRules CachedVaryByRules { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } }
|
|
||||||
public Microsoft.AspNetCore.Http.HttpContext HttpContext { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } }
|
|
||||||
public System.DateTimeOffset? ResponseTime { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } }
|
|
||||||
}
|
|
||||||
public partial class ResponseCachingKeyProvider : Microsoft.AspNetCore.ResponseCaching.Internal.IResponseCachingKeyProvider
|
|
||||||
{
|
|
||||||
public ResponseCachingKeyProvider(Microsoft.Extensions.ObjectPool.ObjectPoolProvider poolProvider, Microsoft.Extensions.Options.IOptions<Microsoft.AspNetCore.ResponseCaching.ResponseCachingOptions> options) { }
|
|
||||||
public string CreateBaseKey(Microsoft.AspNetCore.ResponseCaching.Internal.ResponseCachingContext context) { throw null; }
|
|
||||||
public System.Collections.Generic.IEnumerable<string> CreateLookupVaryByKeys(Microsoft.AspNetCore.ResponseCaching.Internal.ResponseCachingContext context) { throw null; }
|
|
||||||
public string CreateStorageVaryByKey(Microsoft.AspNetCore.ResponseCaching.Internal.ResponseCachingContext context) { throw null; }
|
|
||||||
}
|
|
||||||
public partial class ResponseCachingPolicyProvider : Microsoft.AspNetCore.ResponseCaching.Internal.IResponseCachingPolicyProvider
|
|
||||||
{
|
|
||||||
public ResponseCachingPolicyProvider() { }
|
|
||||||
public virtual bool AllowCacheLookup(Microsoft.AspNetCore.ResponseCaching.Internal.ResponseCachingContext context) { throw null; }
|
|
||||||
public virtual bool AllowCacheStorage(Microsoft.AspNetCore.ResponseCaching.Internal.ResponseCachingContext context) { throw null; }
|
|
||||||
public virtual bool AttemptResponseCaching(Microsoft.AspNetCore.ResponseCaching.Internal.ResponseCachingContext context) { throw null; }
|
|
||||||
public virtual bool IsCachedEntryFresh(Microsoft.AspNetCore.ResponseCaching.Internal.ResponseCachingContext context) { throw null; }
|
|
||||||
public virtual bool IsResponseCacheable(Microsoft.AspNetCore.ResponseCaching.Internal.ResponseCachingContext context) { throw null; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
namespace Microsoft.Extensions.DependencyInjection
|
namespace Microsoft.Extensions.DependencyInjection
|
||||||
{
|
{
|
||||||
public static partial class ResponseCachingServicesExtensions
|
public static partial class ResponseCachingServicesExtensions
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// Copyright (c) .NET Foundation. All rights reserved.
|
// Copyright (c) .NET Foundation. All rights reserved.
|
||||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||||
|
|
||||||
using Microsoft.Extensions.Primitives;
|
using Microsoft.Extensions.Primitives;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// Copyright (c) .NET Foundation. All rights reserved.
|
// Copyright (c) .NET Foundation. All rights reserved.
|
||||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
|
|
@ -7,7 +7,7 @@ using Microsoft.AspNetCore.Http;
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.ResponseCaching.Internal
|
namespace Microsoft.AspNetCore.ResponseCaching.Internal
|
||||||
{
|
{
|
||||||
public class CachedResponse : IResponseCacheEntry
|
internal class CachedResponse : IResponseCacheEntry
|
||||||
{
|
{
|
||||||
public DateTimeOffset Created { get; set; }
|
public DateTimeOffset Created { get; set; }
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
// Copyright (c) .NET Foundation. All rights reserved.
|
// Copyright (c) .NET Foundation. All rights reserved.
|
||||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||||
|
|
||||||
using Microsoft.Extensions.Primitives;
|
using Microsoft.Extensions.Primitives;
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.ResponseCaching.Internal
|
namespace Microsoft.AspNetCore.ResponseCaching.Internal
|
||||||
{
|
{
|
||||||
public class CachedVaryByRules : IResponseCacheEntry
|
internal class CachedVaryByRules : IResponseCacheEntry
|
||||||
{
|
{
|
||||||
public string VaryByKeyPrefix { get; set; }
|
public string VaryByKeyPrefix { get; set; }
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.ResponseCaching.Internal
|
namespace Microsoft.AspNetCore.ResponseCaching.Internal
|
||||||
{
|
{
|
||||||
public interface IResponseCache
|
internal interface IResponseCache
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets the cached response for the given key, if it exists.
|
/// Gets the cached response for the given key, if it exists.
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.ResponseCaching.Internal
|
namespace Microsoft.AspNetCore.ResponseCaching.Internal
|
||||||
{
|
{
|
||||||
public interface IResponseCacheEntry
|
internal interface IResponseCacheEntry
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ using System.Collections.Generic;
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.ResponseCaching.Internal
|
namespace Microsoft.AspNetCore.ResponseCaching.Internal
|
||||||
{
|
{
|
||||||
public interface IResponseCachingKeyProvider
|
internal interface IResponseCachingKeyProvider
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Create a base key for a response cache entry.
|
/// Create a base key for a response cache entry.
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.ResponseCaching.Internal
|
namespace Microsoft.AspNetCore.ResponseCaching.Internal
|
||||||
{
|
{
|
||||||
public interface IResponseCachingPolicyProvider
|
internal interface IResponseCachingPolicyProvider
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Determine whether the response caching logic should be attempted for the incoming HTTP request.
|
/// Determine whether the response caching logic should be attempted for the incoming HTTP request.
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// Copyright (c) .NET Foundation. All rights reserved.
|
// Copyright (c) .NET Foundation. All rights reserved.
|
||||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
|
|
@ -7,11 +7,11 @@ using Microsoft.Extensions.Caching.Memory;
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.ResponseCaching.Internal
|
namespace Microsoft.AspNetCore.ResponseCaching.Internal
|
||||||
{
|
{
|
||||||
public class MemoryResponseCache : IResponseCache
|
internal class MemoryResponseCache : IResponseCache
|
||||||
{
|
{
|
||||||
private readonly IMemoryCache _cache;
|
private readonly IMemoryCache _cache;
|
||||||
|
|
||||||
public MemoryResponseCache(IMemoryCache cache)
|
internal MemoryResponseCache(IMemoryCache cache)
|
||||||
{
|
{
|
||||||
_cache = cache ?? throw new ArgumentNullException(nameof(cache));
|
_cache = cache ?? throw new ArgumentNullException(nameof(cache));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// Copyright (c) .NET Foundation. All rights reserved.
|
// Copyright (c) .NET Foundation. All rights reserved.
|
||||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
|
|
@ -10,7 +10,7 @@ using Microsoft.Net.Http.Headers;
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.ResponseCaching.Internal
|
namespace Microsoft.AspNetCore.ResponseCaching.Internal
|
||||||
{
|
{
|
||||||
public class ResponseCachingContext
|
internal class ResponseCachingContext
|
||||||
{
|
{
|
||||||
private DateTimeOffset? _responseDate;
|
private DateTimeOffset? _responseDate;
|
||||||
private bool _parsedResponseDate;
|
private bool _parsedResponseDate;
|
||||||
|
|
@ -33,7 +33,7 @@ namespace Microsoft.AspNetCore.ResponseCaching.Internal
|
||||||
|
|
||||||
public TimeSpan? CachedEntryAge { get; internal set; }
|
public TimeSpan? CachedEntryAge { get; internal set; }
|
||||||
|
|
||||||
public CachedVaryByRules CachedVaryByRules { get; internal set; }
|
public CachedVaryByRules CachedVaryByRules { get; set; }
|
||||||
|
|
||||||
internal ILogger Logger { get; }
|
internal ILogger Logger { get; }
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// Copyright (c) .NET Foundation. All rights reserved.
|
// Copyright (c) .NET Foundation. All rights reserved.
|
||||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
|
|
@ -11,7 +11,7 @@ using Microsoft.Extensions.Primitives;
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.ResponseCaching.Internal
|
namespace Microsoft.AspNetCore.ResponseCaching.Internal
|
||||||
{
|
{
|
||||||
public class ResponseCachingKeyProvider : IResponseCachingKeyProvider
|
internal class ResponseCachingKeyProvider : IResponseCachingKeyProvider
|
||||||
{
|
{
|
||||||
// Use the record separator for delimiting components of the cache key to avoid possible collisions
|
// Use the record separator for delimiting components of the cache key to avoid possible collisions
|
||||||
private static readonly char KeyDelimiter = '\x1e';
|
private static readonly char KeyDelimiter = '\x1e';
|
||||||
|
|
@ -21,7 +21,7 @@ namespace Microsoft.AspNetCore.ResponseCaching.Internal
|
||||||
private readonly ObjectPool<StringBuilder> _builderPool;
|
private readonly ObjectPool<StringBuilder> _builderPool;
|
||||||
private readonly ResponseCachingOptions _options;
|
private readonly ResponseCachingOptions _options;
|
||||||
|
|
||||||
public ResponseCachingKeyProvider(ObjectPoolProvider poolProvider, IOptions<ResponseCachingOptions> options)
|
internal ResponseCachingKeyProvider(ObjectPoolProvider poolProvider, IOptions<ResponseCachingOptions> options)
|
||||||
{
|
{
|
||||||
if (poolProvider == null)
|
if (poolProvider == null)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// Copyright (c) .NET Foundation. All rights reserved.
|
// Copyright (c) .NET Foundation. All rights reserved.
|
||||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
|
|
@ -8,7 +8,7 @@ using Microsoft.Net.Http.Headers;
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.ResponseCaching.Internal
|
namespace Microsoft.AspNetCore.ResponseCaching.Internal
|
||||||
{
|
{
|
||||||
public class ResponseCachingPolicyProvider : IResponseCachingPolicyProvider
|
internal class ResponseCachingPolicyProvider : IResponseCachingPolicyProvider
|
||||||
{
|
{
|
||||||
public virtual bool AttemptResponseCaching(ResponseCachingContext context)
|
public virtual bool AttemptResponseCaching(ResponseCachingContext context)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ using Microsoft.AspNetCore.Http.Features;
|
||||||
using Microsoft.AspNetCore.ResponseCaching.Internal;
|
using Microsoft.AspNetCore.ResponseCaching.Internal;
|
||||||
using Microsoft.Extensions.Caching.Memory;
|
using Microsoft.Extensions.Caching.Memory;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
|
using Microsoft.Extensions.ObjectPool;
|
||||||
using Microsoft.Extensions.Options;
|
using Microsoft.Extensions.Options;
|
||||||
using Microsoft.Extensions.Primitives;
|
using Microsoft.Extensions.Primitives;
|
||||||
using Microsoft.Net.Http.Headers;
|
using Microsoft.Net.Http.Headers;
|
||||||
|
|
@ -30,17 +31,17 @@ namespace Microsoft.AspNetCore.ResponseCaching
|
||||||
RequestDelegate next,
|
RequestDelegate next,
|
||||||
IOptions<ResponseCachingOptions> options,
|
IOptions<ResponseCachingOptions> options,
|
||||||
ILoggerFactory loggerFactory,
|
ILoggerFactory loggerFactory,
|
||||||
IResponseCachingPolicyProvider policyProvider,
|
ObjectPoolProvider poolProvider)
|
||||||
IResponseCachingKeyProvider keyProvider)
|
|
||||||
: this(
|
: this(
|
||||||
next,
|
next,
|
||||||
options,
|
options,
|
||||||
loggerFactory,
|
loggerFactory,
|
||||||
policyProvider,
|
new ResponseCachingPolicyProvider(),
|
||||||
new MemoryResponseCache(new MemoryCache(new MemoryCacheOptions
|
new MemoryResponseCache(new MemoryCache(new MemoryCacheOptions
|
||||||
{
|
{
|
||||||
SizeLimit = options.Value.SizeLimit
|
SizeLimit = options.Value.SizeLimit
|
||||||
})), keyProvider)
|
})),
|
||||||
|
new ResponseCachingKeyProvider(poolProvider, options))
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
// for testing
|
// for testing
|
||||||
|
|
|
||||||
|
|
@ -27,8 +27,6 @@ namespace Microsoft.Extensions.DependencyInjection
|
||||||
}
|
}
|
||||||
|
|
||||||
services.TryAddSingleton<ObjectPoolProvider, DefaultObjectPoolProvider>();
|
services.TryAddSingleton<ObjectPoolProvider, DefaultObjectPoolProvider>();
|
||||||
services.TryAddSingleton<IResponseCachingPolicyProvider, ResponseCachingPolicyProvider>();
|
|
||||||
services.TryAddSingleton<IResponseCachingKeyProvider, ResponseCachingKeyProvider>();
|
|
||||||
|
|
||||||
return services;
|
return services;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ namespace EchoApp
|
||||||
}
|
}
|
||||||
|
|
||||||
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
|
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
|
||||||
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
|
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory)
|
||||||
{
|
{
|
||||||
if (env.IsDevelopment())
|
if (env.IsDevelopment())
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue