/// <summary>
        /// 创建 HtmlContentResult 实例
        /// </summary>
        /// <param name="provider">负责加载的提供程序</param>
        /// <param name="content">加载的内容</param>
        /// <param name="contentUri">内容的URL地址</param>
        /// <param name="cacheKey">缓存内容所使用的缓存键</param>
        public HtmlContentResult(IHtmlContentProvider provider, string content, Uri contentUri, string cacheKey)
        {
            if (provider == null)
            {
                throw new ArgumentNullException("provider");
            }

            if (content == null)
            {
                throw new ArgumentNullException("content");
            }

            if (contentUri == null)
            {
                throw new ArgumentNullException("contentUri");
            }

            if (!contentUri.IsAbsoluteUri)
            {
                throw new ArgumentException("contentUri必须是一个绝对地址", "contentUri");
            }

            Provider   = provider;
            Content    = content;
            ContentUri = contentUri;
            CacheKey   = cacheKey;
        }
Example #2
0
        /// <summary>
        /// 创建 HtmlContentResult 实例
        /// </summary>
        /// <param name="provider">负责加载的提供程序</param>
        /// <param name="content">加载的内容</param>
        /// <param name="virtualPath">内容的虚拟路径</param>
        /// <param name="cacheKey">缓存内容所使用的缓存键</param>
        public HtmlContentResult(IHtmlContentProvider provider, string content, string virtualPath, string cacheKey)
        {
            if (provider == null)
            {
                throw new ArgumentNullException("provider");
            }

            if (content == null)
            {
                throw new ArgumentNullException("content");
            }

            if (virtualPath == null)
            {
                throw new ArgumentNullException("virtualPath");
            }

            if (!VirtualPathUtility.IsAppRelative(virtualPath))
            {
                throw HtmlProviders.VirtualPathFormatError("virtualPath");
            }

            Provider    = provider;
            Content     = content;
            VirtualPath = virtualPath;
            CacheKey    = cacheKey;
        }
Example #3
0
        /// <summary>
        /// 注册一个 HTML 内容提供程序
        /// </summary>
        /// <param name="extension">所支持的扩展名</param>
        /// <param name="provider">HTML 内容提供程序</param>
        public void RegisterContentProvider(string extension, IHtmlContentProvider provider)
        {
            lock ( _sync )
            {
                if (data.ContainsKey(extension))
                {
                    throw new InvalidOperationException("该扩展名已经被注册了");
                }

                data.Add(extension, provider);
            }
        }
 /// <summary>
 /// 创建 HtmlContentResult 实例
 /// </summary>
 /// <param name="provider">负责加载的提供程序</param>
 /// <param name="content">加载的内容</param>
 /// <param name="contentUri">内容的URL地址</param>
 public HtmlContentResult(IHtmlContentProvider provider, string content, Uri contentUri) : this(provider, content, contentUri, null)
 {
 }
Example #5
0
 /// <summary>
 /// 创建 HtmlContentResult 实例
 /// </summary>
 /// <param name="provider">负责加载的提供程序</param>
 /// <param name="content">加载的内容</param>
 /// <param name="virtualPath">内容的虚拟路径</param>
 public HtmlContentResult(IHtmlContentProvider provider, string content, string virtualPath) : this(provider, content, virtualPath, null)
 {
 }
Example #6
0
        /// <summary>
        /// 注册一个 HTML 内容提供程序
        /// </summary>
        /// <param name="extension">所支持的扩展名</param>
        /// <param name="provider">HTML 内容提供程序</param>
        public void RegisterContentProvider( string extension, IHtmlContentProvider provider )
        {
            lock ( _sync )
              {
            if ( data.ContainsKey( extension ) )
              throw new InvalidOperationException( "该扩展名已经被注册了" );

            data.Add( extension, provider );
              }
        }
Example #7
0
 public PDFCreator(IHtmlContentProvider contentProvider, IConfigurationProvider configurationProvider)
 {
     ContentProvider       = contentProvider;
     ConfigurationProvider = configurationProvider;
 }
Example #8
0
        /// <summary>
        /// 创建 HtmlContentResult 实例
        /// </summary>
        /// <param name="provider">负责加载的提供程序</param>
        /// <param name="content">加载的内容</param>
        /// <param name="virtualPath">内容的虚拟路径</param>
        /// <param name="cacheKey">缓存内容所使用的缓存键</param>
        public HtmlContentResult( IHtmlContentProvider provider, string content, string virtualPath, string cacheKey )
        {
            if ( provider == null )
            throw new ArgumentNullException( "provider" );

              if ( content == null )
            throw new ArgumentNullException( "content" );

              if ( virtualPath == null )
            throw new ArgumentNullException( "virtualPath" );

              if ( !VirtualPathUtility.IsAppRelative( virtualPath ) )
            throw HtmlProviders.VirtualPathFormatError( "virtualPath" );

              Provider = provider;
              Content = content;
              VirtualPath = virtualPath;
              CacheKey = cacheKey;
        }
Example #9
0
 /// <summary>
 /// 创建 HtmlContentResult 实例
 /// </summary>
 /// <param name="provider">负责加载的提供程序</param>
 /// <param name="content">加载的内容</param>
 /// <param name="virtualPath">内容的虚拟路径</param>
 public HtmlContentResult( IHtmlContentProvider provider, string content, string virtualPath )
     : this(provider, content, virtualPath, null)
 {
 }