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); }