コード例 #1
0
ファイル: ResourceHandlerBase.cs プロジェクト: nieve/assman
 protected CachedHandlerResource(IHandlerResource inner, Action <IHandlerResource, MemoryStream> writeContent)
 {
     _lastModified = inner.GetLastModified();
     _resourceType = inner.ResourceType;
     _content      = new MemoryStream();
     writeContent(inner, _content);
 }
コード例 #2
0
ファイル: ResourceHandlerBase.cs プロジェクト: nieve/assman
            private static void CompressContent(IHandlerResource inner, MemoryStream outputStream)
            {
                var compressingStream = outputStream.Compress(leaveOpen: true);

                inner.WriteContent(compressingStream);
                //for some stupid reason, Flush() doesn't work here, so you have to call Close or your content
                //can end up truncated
                compressingStream.Close();
            }
コード例 #3
0
ファイル: ResourceHandlerBase.cs プロジェクト: nieve/assman
        private IHandlerResource GetResourceInternal(ref IHandlerResource cachedResource, Func <IHandlerResource, IHandlerResource> createCachedResource)
        {
            if (cachedResource != null)
            {
                return(cachedResource);
            }

            var resource = GetResource();

            if (CachingEnabled)
            {
                resource       = createCachedResource(resource);
                cachedResource = resource;
            }

            return(resource);
        }
コード例 #4
0
ファイル: ResourceHandlerBase.cs プロジェクト: andyalm/assman
 protected CachedHandlerResource(IHandlerResource inner, Action<IHandlerResource,MemoryStream> writeContent)
 {
     _lastModified = inner.GetLastModified();
     _resourceType = inner.ResourceType;
     _content = new MemoryStream();
     writeContent(inner, _content);
 }
コード例 #5
0
ファイル: ResourceHandlerBase.cs プロジェクト: andyalm/assman
 public CachedHandlerResource(IHandlerResource inner)
     : this(inner, (r,s) => r.WriteContent(s))
 {
 }
コード例 #6
0
ファイル: ResourceHandlerBase.cs プロジェクト: andyalm/assman
 private static void CompressContent(IHandlerResource inner, MemoryStream outputStream)
 {
     var compressingStream = outputStream.Compress(leaveOpen : true);
     inner.WriteContent(compressingStream);
     //for some stupid reason, Flush() doesn't work here, so you have to call Close or your content
     //can end up truncated
     compressingStream.Close();
 }
コード例 #7
0
ファイル: ResourceHandlerBase.cs プロジェクト: andyalm/assman
 public CachedGZippedHandlerResource(IHandlerResource inner)
     : base(inner, CompressContent)
 {
 }
コード例 #8
0
ファイル: ResourceHandlerBase.cs プロジェクト: andyalm/assman
        private IHandlerResource GetResourceInternal(ref IHandlerResource cachedResource, Func<IHandlerResource,IHandlerResource> createCachedResource)
        {
            if (cachedResource != null)
            {
                return cachedResource;
            }

            var resource = GetResource();
            if (CachingEnabled)
            {
                resource = createCachedResource(resource);
                cachedResource = resource;
            }

            return resource;
        }
コード例 #9
0
ファイル: ResourceHandlerBase.cs プロジェクト: nieve/assman
 public CachedHandlerResource(IHandlerResource inner) : this(inner, (r, s) => r.WriteContent(s))
 {
 }
コード例 #10
0
ファイル: ResourceHandlerBase.cs プロジェクト: nieve/assman
 public CachedGZippedHandlerResource(IHandlerResource inner) : base(inner, CompressContent)
 {
 }