public ResourceXmlConfigurationProvider(ICacheProvider cacheProvider, string configurationPath, IVirtualPathResolver virtualPathResolver, IResourceCacher resourceCacher) { if (cacheProvider == null) { throw new ArgumentNullException("cacheProvider"); } if (resourceCacher == null) { throw new ArgumentNullException("resourceCacher"); } if (string.IsNullOrEmpty(configurationPath) && virtualPathResolver == null) { throw new ArgumentNullException("configurationPath"); } m_CacheProvider = cacheProvider; m_VirtualPathResolver = virtualPathResolver; m_ResourceCacher = resourceCacher; m_XmlConfigurationPathProvider = new Lazy<string>( () => { if (string.IsNullOrWhiteSpace(configurationPath)) { configurationPath = m_VirtualPathResolver.Resolve("~/App_Data/WebResources.xml"); } m_ResourceCacher.AddDependentFile(configurationPath); return configurationPath; }, true); }
public VirtualPathData GetVirtualPath(VirtualPathContext context) { EnsureOptions(context.HttpContext); var requestCulture = DetectRequestCulture(context.HttpContext); var path = _virtualPathResolver.Resolve(context, _defaultRequestCulture, requestCulture); if (!path.HasValue) { // We just want to act as a pass-through for link generation return(_next.GetVirtualPath(context)); } var virtualPathData = new VirtualPathData(_next, path); //context.IsBound = true; return(NormalizeVirtualPath(virtualPathData)); }