DesignTimeResourceProviderFactoryAttribute Class
Specifies the type of resource provider factory for design time. This class cannot be inherited.
Assembly: System.Web (in System.Web.dll)
The DesignTimeResourceProviderFactoryAttribute class allows a ResourceProviderFactory object to specify the type of the associated DesignTimeResourceProviderFactory object. The DesignTimeResourceProviderFactory class is used to create design-time providers for reading and writing resources. Within Microsoft Visual Studio 2005, a developer can use the Generate Local Resource command on the Tools menu to create resources during design time.
The following code example shows a customized resource provider factory that specifies a customized design-time resource provider factory through the DesignTimeResourceProviderFactoryAttribute attribute. This example does not include the code necessary to implement a customized design-time resource provider factory.
namespace CustomResourceProviders { using System; using System.Collections.Generic; using System.Text; using System.Web.Compilation; using System.Resources; using System.Globalization; using System.Collections; using System.Reflection; using System.Web.UI.Design; [ DesignTimeResourceProviderFactoryAttribute( typeof(CustomDesignTimeResourceProviderFactory)) ] public class CustomResourceProviderFactory : ResourceProviderFactory { public override IResourceProvider CreateGlobalResourceProvider(string classname) { return new CustomResourceProvider(null, classname); } public override IResourceProvider CreateLocalResourceProvider(string virtualPath) { return new CustomResourceProvider(virtualPath, null); } } // Define the resource provider for global and local resources. internal class CustomResourceProvider : IResourceProvider { string _virtualPath; string _className; public CustomResourceProvider(string virtualPath, string classname) { _virtualPath = virtualPath; _className = classname; } private IDictionary GetResourceCache(string culturename) { return (IDictionary) System.Web.HttpContext.Current.Cache[culturename]; } object IResourceProvider.GetObject (string resourceKey, CultureInfo culture) { object value; string cultureName = null; if (culture != null) { cultureName = culture.Name; } else { cultureName = CultureInfo.CurrentUICulture.Name; } value = GetResourceCache(cultureName)[resourceKey]; if (value == null) { value = GetResourceCache(null)[resourceKey]; } return value; } IResourceReader IResourceProvider.ResourceReader { get { string cultureName = null; CultureInfo currentUICulture = CultureInfo.CurrentUICulture; if (!String.Equals(currentUICulture.Name, CultureInfo.InstalledUICulture.Name)) { cultureName = currentUICulture.Name; } return new CustomResourceReader (GetResourceCache(cultureName)); } } } internal sealed class CustomResourceReader : IResourceReader { private IDictionary _resources; public CustomResourceReader(IDictionary resources) { _resources = resources; } IDictionaryEnumerator IResourceReader.GetEnumerator() { return _resources.GetEnumerator(); } void IResourceReader.Close() { } IEnumerator IEnumerable.GetEnumerator() { return _resources.GetEnumerator(); } void IDisposable.Dispose() { return; } } public class CustomDesignTimeResourceProviderFactory : DesignTimeResourceProviderFactory { private CustomDesignTimeLocalResourceProvider _localResourceProvider; private CustomDesignTimeLocalResourceWriter _localResourceWriter; private CustomDesignTimeGlobalResourceProvider _globalResourceProvider; public override IResourceProvider CreateDesignTimeLocalResourceProvider(IServiceProvider serviceProvider) { // Return an IResourceProvider. if (_localResourceProvider == null) { _localResourceProvider = new CustomDesignTimeLocalResourceProvider(); } return _localResourceProvider; } public override IDesignTimeResourceWriter CreateDesignTimeLocalResourceWriter(IServiceProvider serviceProvider) { // Return an IDesignTimeResourceWriter. if (_localResourceWriter == null) { _localResourceWriter = new CustomDesignTimeLocalResourceWriter(); } return _localResourceWriter; } public override IResourceProvider CreateDesignTimeGlobalResourceProvider(IServiceProvider serviceProvider, string classKey) { // Return an IResourceProvider. if (_globalResourceProvider == null) { _globalResourceProvider = new CustomDesignTimeGlobalResourceProvider(); } return _globalResourceProvider; } }
- AspNetHostingPermission
for operating in a hosted environment. Demand value: LinkDemand; Permission value: Minimal.
Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.