// 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.
namespace Microsoft.AspNet.Mvc.Razor
{
///
/// Specifies the contracts for caching view locations generated by .
///
public interface IViewLocationCache
{
///
/// Gets a cached view location based on the specified .
///
/// The for the current view location
/// expansion.
/// The cached location, if available, null otherwise.
ViewLocationCacheResult Get(ViewLocationExpanderContext context);
///
/// Adds a cache entry for values specified by .
///
/// The for the current view location
/// expansion.
/// The view location that is to be cached.
void Set(ViewLocationExpanderContext context, ViewLocationCacheResult value);
}
}