use conditional caching on some json responses

This commit is contained in:
Luke Pulverenti
2014-02-03 23:04:19 -05:00
parent 48b9f657a4
commit 351cfef7a7
48 changed files with 221 additions and 143 deletions

View File

@@ -253,6 +253,15 @@ namespace MediaBrowser.Controller.Entities
}
}
[IgnoreDataMember]
public IEnumerable<string> PhysicalLocations
{
get
{
return ResolveArgs.PhysicalLocations;
}
}
/// <summary>
/// Resets the resolve args.
/// </summary>

View File

@@ -84,7 +84,7 @@ namespace MediaBrowser.Controller.Entities
try
{
locationsDicionary = ResolveArgs.PhysicalLocations.ToDictionary(i => i, StringComparer.OrdinalIgnoreCase);
locationsDicionary = PhysicalLocations.ToDictionary(i => i, StringComparer.OrdinalIgnoreCase);
}
catch (IOException ex)
{
@@ -116,7 +116,7 @@ namespace MediaBrowser.Controller.Entities
try
{
locationsDicionary = ResolveArgs.PhysicalLocations.ToDictionary(i => i, StringComparer.OrdinalIgnoreCase);
locationsDicionary = PhysicalLocations.ToDictionary(i => i, StringComparer.OrdinalIgnoreCase);
}
catch (IOException ex)
{

View File

@@ -1079,7 +1079,7 @@ namespace MediaBrowser.Controller.Entities
if (i.LocationType != LocationType.Remote)
{
if (i.ResolveArgs.PhysicalLocations.Contains(path, StringComparer.OrdinalIgnoreCase))
if (i.PhysicalLocations.Contains(path, StringComparer.OrdinalIgnoreCase))
{
return true;
}

View File

@@ -50,7 +50,7 @@ namespace MediaBrowser.Controller.Net
/// <param name="factoryFn">The factory function that creates the response object.</param>
/// <param name="responseHeaders">The response headers.</param>
/// <returns>System.Object.</returns>
object GetOptimizedResultUsingCache<T>(IRequest requestContext, Guid cacheKey, DateTime lastDateModified, TimeSpan? cacheDuration, Func<T> factoryFn, IDictionary<string, string> responseHeaders = null)
object GetOptimizedResultUsingCache<T>(IRequest requestContext, Guid cacheKey, DateTime? lastDateModified, TimeSpan? cacheDuration, Func<T> factoryFn, IDictionary<string, string> responseHeaders = null)
where T : class;
/// <summary>
@@ -65,7 +65,7 @@ namespace MediaBrowser.Controller.Net
/// <param name="contentType">Type of the content.</param>
/// <param name="responseHeaders">The response headers.</param>
/// <returns>System.Object.</returns>
object GetCachedResult<T>(IRequest requestContext, Guid cacheKey, DateTime lastDateModified, TimeSpan? cacheDuration, Func<T> factoryFn, string contentType, IDictionary<string, string> responseHeaders = null)
object GetCachedResult<T>(IRequest requestContext, Guid cacheKey, DateTime? lastDateModified, TimeSpan? cacheDuration, Func<T> factoryFn, string contentType, IDictionary<string, string> responseHeaders = null)
where T : class;
/// <summary>
@@ -94,5 +94,15 @@ namespace MediaBrowser.Controller.Net
/// <param name="isHeadRequest">if set to <c>true</c> [is head request].</param>
/// <returns>System.Object.</returns>
object GetStaticFileResult(IRequest requestContext, string path, FileShare fileShare = FileShare.Read, IDictionary<string, string> responseHeaders = null, bool isHeadRequest = false);
/// <summary>
/// Gets the optimized serialized result using cache.
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="request">The request.</param>
/// <param name="result">The result.</param>
/// <returns>System.Object.</returns>
object GetOptimizedSerializedResultUsingCache<T>(IRequest request, T result)
where T : class;
}
}