2010-02-03 Marek Habersack <mhabersack@novell.com>
authorMarek Habersack <grendel@twistedcode.net>
Thu, 4 Feb 2010 13:53:55 +0000 (13:53 -0000)
committerMarek Habersack <grendel@twistedcode.net>
Thu, 4 Feb 2010 13:53:55 +0000 (13:53 -0000)
commit73c3bfba56fe2365ee114cb34bb7ad188a2bffaa
tree44ecfbc140e3ca27852f04eda2a64a18f1c99996
parent6032fc1874c36949a153929fddea5f3c3dd5a1cd
parent999db4286ff62c21f158c8c235580d8466a8e6d5
2010-02-03  Marek Habersack  <mhabersack@novell.com>

        * AssemblyInfo.cs: added back InternalsVisibleTo for the test
        assembly - it's needed to access CacheItemPriorityQueue

2010-02-03  Marek Habersack  <mhabersack@novell.com>

        * OutputCache.cs: DefaultProviderName checks if there was any
        provider configured and, if not, returns a built-in provider's
        name.

        * SqlCacheDependencyAdmin.cs: added

        * OutputCacheProviderCollection.cs: added

        * OutputCacheProvider.cs: added

        * OutputCacheModule.cs: uses the 4.0 extensible output cache
        provider model now (also internally in the 2.0 profile)
        OutputCacheProvider is retrieved on every request using
        HttpApplication.GetOutputCacheProviderName (4.0+). In the 2.0
        profile an instance of InMemoryOutputCacheProvider is always
        returned.

        * InMemoryOutputCacheProvider.cs: default output cache provider
        for ASP.NET 4.0, also used internally in the  2.0 profile.

        * CachedVaryBy.cs: made the generated key shorter

        * CacheItemPriorityQueueDebug.cs: debugging support for
        CacheItemPriorityQueue. Most of the code is compiled only when the
        DEBUG macro is defined. Debugging support includes recording of
        the queue operations sequence which is output to an XML file on
        appdomain shutdown. The recorded sequence files can be used to
        generate NUnit test cases for the priority queue (see
        ../Test/tools/README)

        * CacheItemPriorityQueue.cs: rewritten using an array based heap
        instead of a binary tree based one - implementation is simpler,
        faster and more elegant. Heap is initially 32 entries long and
        its size is doubled every time it fills up. After reaching a
        threshold (8192 entries currently) it is shrunk to the number of
        items + 1/3 of item count in order to preserve memory.

        * CacheItem.cs: added a Guid field to easier distinguish items
        (mostly for debugging purposes)

        * CacheDependency.cs: minor performance improvements

        * Cache.cs: better handling of timer periods

2010-02-03  Marek Habersack  <mhabersack@novell.com>

        * HttpApplication.cs: GetOutputCacheProviderName returns the value
        of OutputCache.DefaultProviderName

        * HttpRuntime.cs: internal cache is used to hold the dependencies
        now.

2010-02-03  Marek Habersack  <mhabersack@novell.com>

        * CacheItemPriorityQueueTest_generated.cs: added

        * CacheItemPriorityQueueTest.cs: added

2010-02-04  Marek Habersack  <mhabersack@novell.com>

        * Helpers.cs: added a helper method for checking of HTML mentions
        any .NET exceptions.

2010-02-03  Marek Habersack  <mhabersack@novell.com>

        * Makefile: added targets to compile cache priority queue tests
        generator and to generate the tests themselves

svn path=/trunk/mcs/; revision=150855
57 files changed:
mcs/class/System.Web/Assembly/AssemblyInfo.cs
mcs/class/System.Web/Assembly/ChangeLog
mcs/class/System.Web/Makefile
mcs/class/System.Web/System.Web.Caching/Cache.cs
mcs/class/System.Web/System.Web.Caching/CacheDependency.cs
mcs/class/System.Web/System.Web.Caching/CacheItem.cs
mcs/class/System.Web/System.Web.Caching/CacheItemPriorityQueue.cs
mcs/class/System.Web/System.Web.Caching/CacheItemPriorityQueueDebug.cs
mcs/class/System.Web/System.Web.Caching/CachedVaryBy.cs
mcs/class/System.Web/System.Web.Caching/ChangeLog
mcs/class/System.Web/System.Web.Caching/InMemoryOutputCacheProvider.cs
mcs/class/System.Web/System.Web.Caching/OutputCache.cs
mcs/class/System.Web/System.Web.Caching/OutputCacheModule.cs
mcs/class/System.Web/System.Web.Caching/OutputCacheProvider.cs
mcs/class/System.Web/System.Web.Caching/OutputCacheProviderCollection.cs
mcs/class/System.Web/System.Web.Caching/SqlCacheDependencyAdmin.cs
mcs/class/System.Web/System.Web.dll.sources
mcs/class/System.Web/System.Web/ChangeLog
mcs/class/System.Web/System.Web/HttpApplication.cs
mcs/class/System.Web/System.Web/HttpRuntime.cs
mcs/class/System.Web/System.Web_standalone_test.dll.sources
mcs/class/System.Web/System.Web_test.dll.sources
mcs/class/System.Web/Test/System.Web.Caching/CacheItemPriorityQueueTest.cs
mcs/class/System.Web/Test/System.Web.Caching/CacheItemPriorityQueueTest_generated.cs
mcs/class/System.Web/Test/System.Web.Caching/ChangeLog
mcs/class/System.Web/Test/System.Web/HttpApplicationTest.cs
mcs/class/System.Web/Test/standalone-runner-support/ChangeLog
mcs/class/System.Web/Test/standalone-runner-support/Helpers.cs
mcs/class/System.Web/Test/standalone-tests/OutputCacheProvider.cs
mcs/class/System.Web/Test/standalone/OutputCacheProvider/OutputCacheProviderTest_01/App_Code/InMemoryProvider.cs
mcs/class/System.Web/Test/standalone/OutputCacheProvider/OutputCacheProviderTest_01/Default.aspx
mcs/class/System.Web/Test/standalone/OutputCacheProvider/OutputCacheProviderTest_01/Default.aspx.cs
mcs/class/System.Web/Test/standalone/OutputCacheProvider/OutputCacheProviderTest_01/web.config
mcs/class/System.Web/Test/standalone/OutputCacheProvider/OutputCacheProviderTest_02/Default.aspx
mcs/class/System.Web/Test/standalone/OutputCacheProvider/OutputCacheProviderTest_02/Default.aspx.cs
mcs/class/System.Web/Test/standalone/OutputCacheProvider/OutputCacheProviderTest_02/web.config
mcs/class/System.Web/Test/standalone/OutputCacheProvider/OutputCacheProviderTest_03/App_Code/AnotherInMemoryProvider.cs
mcs/class/System.Web/Test/standalone/OutputCacheProvider/OutputCacheProviderTest_03/App_Code/InMemoryProvider.cs
mcs/class/System.Web/Test/standalone/OutputCacheProvider/OutputCacheProviderTest_03/Default.aspx
mcs/class/System.Web/Test/standalone/OutputCacheProvider/OutputCacheProviderTest_03/Default.aspx.cs
mcs/class/System.Web/Test/standalone/OutputCacheProvider/OutputCacheProviderTest_03/Global.asax
mcs/class/System.Web/Test/standalone/OutputCacheProvider/OutputCacheProviderTest_03/web.config
mcs/class/System.Web/Test/tools/CachePQTestGenerator/CacheItemComparer.cs
mcs/class/System.Web/Test/tools/CachePQTestGenerator/PriorityQueue.cs
mcs/class/System.Web/Test/tools/CachePQTestGenerator/PriorityQueueState.cs
mcs/class/System.Web/Test/tools/CachePQTestGenerator/Sequences.cs
mcs/class/System.Web/Test/tools/CachePQTestGenerator/Sequences/cache_pq_sequence_2010-01-29_10:24:08.seq
mcs/class/System.Web/Test/tools/CachePQTestGenerator/Sequences/cache_pq_sequence_2010-01-29_10:24:08_001.seq
mcs/class/System.Web/Test/tools/CachePQTestGenerator/Sequences/cache_pq_sequence_2010-01-29_10:24:08_002.seq
mcs/class/System.Web/Test/tools/CachePQTestGenerator/Sequences/cache_pq_sequence_2010-01-29_12:31:31.seq
mcs/class/System.Web/Test/tools/CachePQTestGenerator/Sequences/cache_pq_sequence_2010-02-03_01:07:55.seq
mcs/class/System.Web/Test/tools/CachePQTestGenerator/Utils.cs
mcs/class/System.Web/Test/tools/CachePQTestGenerator/cache-pq-test-generator.cs
mcs/class/System.Web/Test/tools/ChangeLog
mcs/class/System.Web/Test/tools/Makefile
mcs/class/System.Web/Test/tools/README
mcs/class/System.Web/net_4_0_System.Web.dll.sources