diff options
author | Marek Habersack <grendel@twistedcode.net> | 2010-01-22 01:30:21 +0300 |
---|---|---|
committer | Marek Habersack <grendel@twistedcode.net> | 2010-01-22 01:30:21 +0300 |
commit | b315e2df14a6b3345e7efc15f5e9e3ff03a1c1f1 (patch) | |
tree | 2b271b7baab931caff471d0e810daae6937ef896 /mcs | |
parent | 4e5ea856351db8f7d2714024f4bcc1a375577197 (diff) |
2010-01-21 Marek Habersack <mhabersack@novell.com>
* FileResponseElementTest.cs, HeaderElementTest.cs,
MemoryResponseElementTest.cs, SubstitutionResponseElementTest.cs:
added
2010-01-21 Marek Habersack <mhabersack@novell.com>
* DatabaseNotEnabledForNotificationException.cs, OutputCache.cs,
FileResponseElement.cs, HeaderElement.cs, IOutputCacheEntry.cs,
MemoryResponseElement.cs, OutputCacheProvider.cs,
ResponseElement.cs, OutputCacheProviderCollection.cs,
SubstitutionResponseElement.cs,
TableNotEnabledForNotificationException.cs: added
* CacheDependency.cs: default constructor is protected in 4.0
svn path=/trunk/mcs/; revision=150025
Diffstat (limited to 'mcs')
21 files changed, 905 insertions, 2 deletions
diff --git a/mcs/class/System.Web/System.Web.Caching/CacheDependency.cs b/mcs/class/System.Web/System.Web.Caching/CacheDependency.cs index a7ff431fb7d..8a19612ccb0 100644 --- a/mcs/class/System.Web/System.Web.Caching/CacheDependency.cs +++ b/mcs/class/System.Web/System.Web.Caching/CacheDependency.cs @@ -55,8 +55,13 @@ namespace System.Web.Caching add { events.AddHandler (dependencyChangedEvent, value); } remove { events.RemoveHandler (dependencyChangedEvent, value); } } - - public CacheDependency (): this (null, null, null, DateTime.Now) + +#if NET_4_0 + protected +#else + public +#endif + CacheDependency (): this (null, null, null, DateTime.Now) { } diff --git a/mcs/class/System.Web/System.Web.Caching/ChangeLog b/mcs/class/System.Web/System.Web.Caching/ChangeLog index fbc14e44453..2088bf0b08a 100644 --- a/mcs/class/System.Web/System.Web.Caching/ChangeLog +++ b/mcs/class/System.Web/System.Web.Caching/ChangeLog @@ -1,3 +1,14 @@ +2010-01-21 Marek Habersack <mhabersack@novell.com> + + * DatabaseNotEnabledForNotificationException.cs, OutputCache.cs, + FileResponseElement.cs, HeaderElement.cs, IOutputCacheEntry.cs, + MemoryResponseElement.cs, OutputCacheProvider.cs, + ResponseElement.cs, OutputCacheProviderCollection.cs, + SubstitutionResponseElement.cs, + TableNotEnabledForNotificationException.cs: added + + * CacheDependency.cs: default constructor is protected in 4.0 + 2010-01-06 Marek Habersack <mhabersack@novell.com> * CacheItemPriorityQueue.cs: make sure lastParent is never null if diff --git a/mcs/class/System.Web/System.Web.Caching/DatabaseNotEnabledForNotificationException.cs b/mcs/class/System.Web/System.Web.Caching/DatabaseNotEnabledForNotificationException.cs new file mode 100644 index 00000000000..2f731e3e8d3 --- /dev/null +++ b/mcs/class/System.Web/System.Web.Caching/DatabaseNotEnabledForNotificationException.cs @@ -0,0 +1,49 @@ +// +// Authors: +// Marek Habersack <mhabersack@novell.com> +// +// (C) 2010 Novell, Inc (http://novell.com/) +// + +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +using System.Security.Permissions; +using System.Web; + +namespace System.Web.Caching +{ + [Serializable] + [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)] + public sealed class DatabaseNotEnabledForNotificationException : SystemException + { + public DatabaseNotEnabledForNotificationException () + {} + + public DatabaseNotEnabledForNotificationException (string message) + : base (message) + {} + + public DatabaseNotEnabledForNotificationException (string message, Exception innerException) + : base (message, innerException) + {} + } +} diff --git a/mcs/class/System.Web/System.Web.Caching/FileResponseElement.cs b/mcs/class/System.Web/System.Web.Caching/FileResponseElement.cs new file mode 100644 index 00000000000..bbc4b57526e --- /dev/null +++ b/mcs/class/System.Web/System.Web.Caching/FileResponseElement.cs @@ -0,0 +1,67 @@ +// +// Authors: +// Marek Habersack <mhabersack@novell.com> +// +// (C) 2010 Novell, Inc (http://novell.com/) +// + +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +using System.Security.Permissions; +using System.Web; + +namespace System.Web.Caching +{ + [Serializable] + [AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Unrestricted)] + public class FileResponseElement : ResponseElement + { + public long Length { + get; + private set; + } + + public long Offset { + get; + private set; + } + + public string Path { + get; + private set; + } + + public FileResponseElement (string path, long offset, long length) + { + if (path == null) + throw new ArgumentNullException ("path"); + if (offset < 0) + throw new ArgumentOutOfRangeException ("offset", "is less than zero."); + if (length < 0) + throw new ArgumentOutOfRangeException ("length", "is less than zero."); + + this.Length = length; + this.Offset = offset; + this.Path = path; + } + } +} diff --git a/mcs/class/System.Web/System.Web.Caching/HeaderElement.cs b/mcs/class/System.Web/System.Web.Caching/HeaderElement.cs new file mode 100644 index 00000000000..96c5bad70d6 --- /dev/null +++ b/mcs/class/System.Web/System.Web.Caching/HeaderElement.cs @@ -0,0 +1,58 @@ +// +// Authors: +// Marek Habersack <mhabersack@novell.com> +// +// (C) 2010 Novell, Inc (http://novell.com/) +// + +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +using System; + +namespace System.Web.Caching +{ + [Serializable] + public sealed class HeaderElement + { + public string Name { + get; + private set; + } + + public string Value { + get; + private set; + } + + public HeaderElement (string name, string value) + { + // LAMESPEC: empty string in name is accepted + if (name == null) + throw new ArgumentNullException ("name"); + if (value == null) + throw new ArgumentNullException ("value"); + + this.Name = name; + this.Value = value; + } + } +} diff --git a/mcs/class/System.Web/System.Web.Caching/IOutputCacheEntry.cs b/mcs/class/System.Web/System.Web.Caching/IOutputCacheEntry.cs new file mode 100644 index 00000000000..1f788edc024 --- /dev/null +++ b/mcs/class/System.Web/System.Web.Caching/IOutputCacheEntry.cs @@ -0,0 +1,38 @@ +// +// Authors: +// Marek Habersack <mhabersack@novell.com> +// +// (C) 2010 Novell, Inc (http://novell.com/) +// + +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +using System.Collections.Generic; + +namespace System.Web.Caching +{ + public interface IOutputCacheEntry + { + List<HeaderElement> HeaderElements { get; set; } + List<ResponseElement> ResponseElements { get; set; } + } +} diff --git a/mcs/class/System.Web/System.Web.Caching/MemoryResponseElement.cs b/mcs/class/System.Web/System.Web.Caching/MemoryResponseElement.cs new file mode 100644 index 00000000000..6dcd259e97f --- /dev/null +++ b/mcs/class/System.Web/System.Web.Caching/MemoryResponseElement.cs @@ -0,0 +1,59 @@ +// +// Authors: +// Marek Habersack <mhabersack@novell.com> +// +// (C) 2010 Novell, Inc (http://novell.com/) +// + +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +using System.Security.Permissions; +using System.Web; + +namespace System.Web.Caching +{ + [Serializable] + [AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Unrestricted)] + public class MemoryResponseElement : ResponseElement + { + public byte[] Buffer { + get; + private set; + } + + public long Length { + get; + private set; + } + + public MemoryResponseElement (byte[] buffer, long length) + { + if (buffer == null) + throw new ArgumentNullException ("buffer"); + if (length < 0 || length > buffer.Length) + throw new ArgumentOutOfRangeException ("length", "is less than zero or greater than the size of buffer."); + + this.Buffer = buffer; + this.Length = length; + } + } +} diff --git a/mcs/class/System.Web/System.Web.Caching/OutputCache.cs b/mcs/class/System.Web/System.Web.Caching/OutputCache.cs new file mode 100644 index 00000000000..e8454689898 --- /dev/null +++ b/mcs/class/System.Web/System.Web.Caching/OutputCache.cs @@ -0,0 +1,68 @@ +// +// Authors: +// Marek Habersack <mhabersack@novell.com> +// +// (C) 2010 Novell, Inc (http://novell.com/) +// + +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +using System.IO; +using System.Security.Permissions; +using System.Web; +using System.Web.Configuration; + +namespace System.Web.Caching +{ + public static class OutputCache + { + public static string DefaultProviderName { + get { throw new NotImplementedException (); } + } + + public static OutputCacheProviderCollection Providers { + get { throw new NotImplementedException (); } + } + + [SecurityPermission (SecurityAction.Assert, Flags = SecurityPermissionFlag.SerializationFormatter)] + public static object Deserialize (Stream stream) + { + if (stream == null) + throw new ArgumentNullException ("stream"); + + throw new NotImplementedException (); + + } + + [SecurityPermission (SecurityAction.Assert, Flags = SecurityPermissionFlag.SerializationFormatter)] + public static void Serialize (Stream stream, object data) + { + if (stream == null) + throw new ArgumentNullException ("stream"); + + if (data == null) + throw new ArgumentNullException ("data"); + + throw new NotImplementedException (); + } + } +} diff --git a/mcs/class/System.Web/System.Web.Caching/OutputCacheProvider.cs b/mcs/class/System.Web/System.Web.Caching/OutputCacheProvider.cs new file mode 100644 index 00000000000..cf0534d577e --- /dev/null +++ b/mcs/class/System.Web/System.Web.Caching/OutputCacheProvider.cs @@ -0,0 +1,43 @@ +// +// Authors: +// Marek Habersack <mhabersack@novell.com> +// +// (C) 2010 Novell, Inc (http://novell.com/) +// + +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +using System.Configuration.Provider; + +namespace System.Web.Caching +{ + public abstract class OutputCacheProvider : ProviderBase + { + protected OutputCacheProvider () + {} + + public abstract object Add (string key, Object entry, DateTime utcExpiry); + public abstract Object Get (string key); + public abstract void Remove (string key); + public abstract void Set (string key, object entry, DateTime utcExpiry); + } +} diff --git a/mcs/class/System.Web/System.Web.Caching/OutputCacheProviderCollection.cs b/mcs/class/System.Web/System.Web.Caching/OutputCacheProviderCollection.cs new file mode 100644 index 00000000000..3b5f733f70c --- /dev/null +++ b/mcs/class/System.Web/System.Web.Caching/OutputCacheProviderCollection.cs @@ -0,0 +1,60 @@ +// +// Authors: +// Marek Habersack <mhabersack@novell.com> +// +// (C) 2010 Novell, Inc (http://novell.com/) +// + +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +using System.Configuration.Provider; + +namespace System.Web.Caching +{ + public sealed class OutputCacheProviderCollection : ProviderCollection + { + public OutputCacheProvider this [string name] { + get { + throw new NotImplementedException (); + } + } + + public OutputCacheProviderCollection () + {} + + public override void Add (ProviderBase provider) + { + if (provider == null) + throw new ArgumentNullException ("provider"); + + if (!(provider is OutputCacheProvider)) + throw new ArgumentException ("is not of type OutputCacheProvider.", "provider"); + + base.Add (provider); + } + + public void CopyTo (OutputCacheProvider[] array, int index) + { + throw new NotImplementedException (); + } + } +} diff --git a/mcs/class/System.Web/System.Web.Caching/ResponseElement.cs b/mcs/class/System.Web/System.Web.Caching/ResponseElement.cs new file mode 100644 index 00000000000..277527858c6 --- /dev/null +++ b/mcs/class/System.Web/System.Web.Caching/ResponseElement.cs @@ -0,0 +1,38 @@ +// +// Authors: +// Marek Habersack <mhabersack@novell.com> +// +// (C) 2010 Novell, Inc (http://novell.com/) +// + +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +namespace System.Web.Caching +{ + [Serializable] + public abstract class ResponseElement + { + protected ResponseElement () + { + } + } +} diff --git a/mcs/class/System.Web/System.Web.Caching/SubstitutionResponseElement.cs b/mcs/class/System.Web/System.Web.Caching/SubstitutionResponseElement.cs new file mode 100644 index 00000000000..ec3a9fa657b --- /dev/null +++ b/mcs/class/System.Web/System.Web.Caching/SubstitutionResponseElement.cs @@ -0,0 +1,51 @@ +// +// Authors: +// Marek Habersack <mhabersack@novell.com> +// +// (C) 2010 Novell, Inc (http://novell.com/) +// + +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +using System.Security.Permissions; +using System.Web; + +namespace System.Web.Caching +{ + [Serializable] + [AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Unrestricted)] + public class SubstitutionResponseElement : ResponseElement + { + public HttpResponseSubstitutionCallback Callback { + get; + private set; + } + + public SubstitutionResponseElement (HttpResponseSubstitutionCallback callback) + { + if (callback == null) + throw new ArgumentNullException ("callback"); + + this.Callback = callback; + } + } +} diff --git a/mcs/class/System.Web/System.Web.Caching/TableNotEnabledForNotificationException.cs b/mcs/class/System.Web/System.Web.Caching/TableNotEnabledForNotificationException.cs new file mode 100644 index 00000000000..9fe713be2d4 --- /dev/null +++ b/mcs/class/System.Web/System.Web.Caching/TableNotEnabledForNotificationException.cs @@ -0,0 +1,49 @@ +// +// Authors: +// Marek Habersack <mhabersack@novell.com> +// +// (C) 2010 Novell, Inc (http://novell.com/) +// + +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +using System.Security.Permissions; +using System.Web; + +namespace System.Web.Caching +{ + [Serializable] + [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)] + public sealed class TableNotEnabledForNotificationException : SystemException + { + public TableNotEnabledForNotificationException () + {} + + public TableNotEnabledForNotificationException (string message) + : base (message) + {} + + public TableNotEnabledForNotificationException (string message, Exception innerException) + : base (message, innerException) + {} + } +} diff --git a/mcs/class/System.Web/System.Web.dll.sources b/mcs/class/System.Web/System.Web.dll.sources index ce2000d978b..6c24bf30e70 100644 --- a/mcs/class/System.Web/System.Web.dll.sources +++ b/mcs/class/System.Web/System.Web.dll.sources @@ -20,8 +20,10 @@ System.Web.Caching/CacheItemRemovedCallback.cs System.Web.Caching/CacheItemRemovedReason.cs System.Web.Caching/CachedRawResponse.cs System.Web.Caching/CachedVaryBy.cs +System.Web.Caching/DatabaseNotEnabledForNotificationException.cs System.Web.Caching/OutputCacheModule.cs System.Web.Caching/SqlCacheDependency.cs +System.Web.Caching/TableNotEnabledForNotificationException.cs System.Web/CapabilitiesLoader.cs System.Web/BrowserCapabilities.cs System.Web.Compilation/ApplicationFileBuildProvider.cs diff --git a/mcs/class/System.Web/System.Web_test.dll.sources b/mcs/class/System.Web/System.Web_test.dll.sources index 42b572055c2..99f7ba6be0a 100644 --- a/mcs/class/System.Web/System.Web_test.dll.sources +++ b/mcs/class/System.Web/System.Web_test.dll.sources @@ -1,3 +1,4 @@ +../../System.Web.DynamicData/Test/Common/AssertExtensions.cs mainsoft/MainsoftWebTest/HtmlAgilityPack/AssemblyInfo.cs mainsoft/MainsoftWebTest/HtmlAgilityPack/crc32.cs mainsoft/MainsoftWebTest/HtmlAgilityPack/Header.cs @@ -334,6 +335,10 @@ System.Web/TraceContextCas.cs System.Web.Caching/AggregateCacheDependencyTest.cs System.Web.Caching/CacheCas.cs System.Web.Caching/CacheDependencyCas.cs +System.Web.Caching/FileResponseElementTest.cs +System.Web.Caching/HeaderElementTest.cs +System.Web.Caching/MemoryResponseElementTest.cs +System.Web.Caching/SubstitutionResponseElementTest.cs System.Web.Configuration/HttpCapabilitiesBaseCas.cs System.Web.Handlers/TraceHandlerCas.cs System.Web.Hosting/AppDomainFactoryCas.cs diff --git a/mcs/class/System.Web/Test/System.Web.Caching/ChangeLog b/mcs/class/System.Web/Test/System.Web.Caching/ChangeLog index e7f8ac15a60..96590822182 100644 --- a/mcs/class/System.Web/Test/System.Web.Caching/ChangeLog +++ b/mcs/class/System.Web/Test/System.Web.Caching/ChangeLog @@ -1,3 +1,9 @@ +2010-01-21 Marek Habersack <mhabersack@novell.com> + + * FileResponseElementTest.cs, HeaderElementTest.cs, + MemoryResponseElementTest.cs, SubstitutionResponseElementTest.cs: + added + 2008-06-27 Atsushi Enomoto <atsushi@ximian.com> * AggregateCacheDependencyTest.cs: mark wrong, timing- diff --git a/mcs/class/System.Web/Test/System.Web.Caching/FileResponseElementTest.cs b/mcs/class/System.Web/Test/System.Web.Caching/FileResponseElementTest.cs new file mode 100644 index 00000000000..ee2bd412265 --- /dev/null +++ b/mcs/class/System.Web/Test/System.Web.Caching/FileResponseElementTest.cs @@ -0,0 +1,73 @@ +// +// FileResponseElementTest.cs +// +// Authors: +// Marek Habersack <mhabersack@novell.com> +// +// Copyright (C) 2010 Novell Inc. http://novell.com +// + +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#if NET_4_0 +using System; +using System.Web; +using System.Web.Caching; + +using NUnit.Framework; +using MonoTests.Common; + +namespace MonoTests.System.Web.Caching +{ + [TestFixture] + public class FileResponseElementTest + { + [Test] + public void Constructor () + { + FileResponseElement fre; + + AssertExtensions.Throws<ArgumentNullException> (() => { + fre = new FileResponseElement (null, 0, 0); + }, "#A1"); + + AssertExtensions.Throws<ArgumentOutOfRangeException> (() => { + fre = new FileResponseElement ("file.txt", -1, 0); + }, "#A2"); + + AssertExtensions.Throws<ArgumentOutOfRangeException> (() => { + fre = new FileResponseElement ("file.txt", 0, -1); + }, "#A3"); + + fre = new FileResponseElement (String.Empty, 0, 0); + Assert.AreEqual (String.Empty, fre.Path, "#B1-1"); + Assert.AreEqual (0, fre.Length, "#B1-2"); + Assert.AreEqual (0, fre.Offset, "#B1-3"); + + fre = new FileResponseElement ("file.txt", 10, 30); + Assert.AreEqual ("file.txt", fre.Path, "#C1-1"); + Assert.AreEqual (30, fre.Length, "#C1-2"); + Assert.AreEqual (10, fre.Offset, "#C1-3"); + } + } +} +#endif
\ No newline at end of file diff --git a/mcs/class/System.Web/Test/System.Web.Caching/HeaderElementTest.cs b/mcs/class/System.Web/Test/System.Web.Caching/HeaderElementTest.cs new file mode 100644 index 00000000000..e9e50592699 --- /dev/null +++ b/mcs/class/System.Web/Test/System.Web.Caching/HeaderElementTest.cs @@ -0,0 +1,71 @@ +// +// HeaderElementTest.cs +// +// Authors: +// Marek Habersack <mhabersack@novell.com> +// +// Copyright (C) 2010 Novell Inc. http://novell.com +// + +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#if NET_4_0 +using System; +using System.Web; +using System.Web.Caching; + +using NUnit.Framework; +using MonoTests.Common; + +namespace MonoTests.System.Web.Caching +{ + [TestFixture] + public class HeaderElementTest + { + [Test] + public void Constructor () + { + HeaderElement he; + + AssertExtensions.Throws<ArgumentNullException> (() => { + he = new HeaderElement (null, String.Empty); + }, "#A1"); + + AssertExtensions.Throws<ArgumentNullException> (() => { + he = new HeaderElement ("Header", null); + }, "#A2"); + + he = new HeaderElement ("Header", String.Empty); + Assert.AreEqual ("Header", he.Name, "#B1-1"); + Assert.AreEqual (String.Empty, he.Value, "#B1-2"); + + he = new HeaderElement ("Header", "Value"); + Assert.AreEqual ("Header", he.Name, "#C1-1"); + Assert.AreEqual ("Value", he.Value, "#C1-2"); + + he = new HeaderElement (String.Empty, String.Empty); + Assert.AreEqual (String.Empty, he.Name, "#D1-1"); + Assert.AreEqual (String.Empty, he.Value, "#D1-2"); + } + } +} +#endif
\ No newline at end of file diff --git a/mcs/class/System.Web/Test/System.Web.Caching/MemoryResponseElementTest.cs b/mcs/class/System.Web/Test/System.Web.Caching/MemoryResponseElementTest.cs new file mode 100644 index 00000000000..6f732dddcb8 --- /dev/null +++ b/mcs/class/System.Web/Test/System.Web.Caching/MemoryResponseElementTest.cs @@ -0,0 +1,77 @@ +// +// MemoryResponseElementTest.cs +// +// Authors: +// Marek Habersack <mhabersack@novell.com> +// +// Copyright (C) 2010 Novell Inc. http://novell.com +// + +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#if NET_4_0 +using System; +using System.Web; +using System.Web.Caching; + +using NUnit.Framework; +using MonoTests.Common; + +namespace MonoTests.System.Web.Caching +{ + [TestFixture] + public class MemoryResponseElementTest + { + [Test] + public void Constructor () + { + MemoryResponseElement mre; + + AssertExtensions.Throws<ArgumentNullException> (() => { + mre = new MemoryResponseElement (null, 0); + }, "#A1"); + + AssertExtensions.Throws<ArgumentOutOfRangeException> (() => { + mre = new MemoryResponseElement (new byte[1], -1); + }, "#A2"); + + AssertExtensions.Throws<ArgumentOutOfRangeException> (() => { + mre = new MemoryResponseElement (new byte[1], 2); + }, "#A2"); + + var b = new byte[0]; + mre = new MemoryResponseElement (b, 0); + Assert.AreEqual (b, mre.Buffer, "#B1-1"); + Assert.AreEqual (0, mre.Length, "#B1-2"); + + b = new byte[10]; + mre = new MemoryResponseElement (b, 10); + Assert.AreEqual (b, mre.Buffer, "#C1-1"); + Assert.AreEqual (10, mre.Length, "#C1-2"); + + mre = new MemoryResponseElement (b, 5); + Assert.AreEqual (b, mre.Buffer, "#D1-1"); + Assert.AreEqual (5, mre.Length, "#D1-2"); + } + } +} +#endif diff --git a/mcs/class/System.Web/Test/System.Web.Caching/SubstitutionResponseElementTest.cs b/mcs/class/System.Web/Test/System.Web.Caching/SubstitutionResponseElementTest.cs new file mode 100644 index 00000000000..e277b12f0c0 --- /dev/null +++ b/mcs/class/System.Web/Test/System.Web.Caching/SubstitutionResponseElementTest.cs @@ -0,0 +1,64 @@ +// +// SubstitutionResponseElementTest.cs +// +// Authors: +// Marek Habersack <mhabersack@novell.com> +// +// Copyright (C) 2010 Novell Inc. http://novell.com +// + +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#if NET_4_0 +using System; +using System.Web; +using System.Web.Caching; + +using NUnit.Framework; +using MonoTests.Common; + +namespace MonoTests.System.Web.Caching +{ + [TestFixture] + public class SubstitutionResponseElementTest + { + string TestCallback (HttpContext ctx) + { + return String.Empty; + } + + [Test] + public void Constructor () + { + SubstitutionResponseElement sre; + + AssertExtensions.Throws<ArgumentNullException> (() => { + sre = new SubstitutionResponseElement (null); + }, "#A1"); + + var cb = new HttpResponseSubstitutionCallback (TestCallback); + sre = new SubstitutionResponseElement (cb); + Assert.AreEqual (cb, sre.Callback, "#B1"); + } + } +} +#endif
\ No newline at end of file diff --git a/mcs/class/System.Web/net_4_0_System.Web.dll.sources b/mcs/class/System.Web/net_4_0_System.Web.dll.sources index eb7b917667c..49c0f1d0d34 100644 --- a/mcs/class/System.Web/net_4_0_System.Web.dll.sources +++ b/mcs/class/System.Web/net_4_0_System.Web.dll.sources @@ -3,6 +3,15 @@ System.Web/IHtmlString.cs System.Web/HtmlString.cs +System.Web.Caching/FileResponseElement.cs +System.Web.Caching/HeaderElement.cs +System.Web.Caching/IOutputCacheEntry.cs +System.Web.Caching/MemoryResponseElement.cs +System.Web.Caching/OutputCache.cs +System.Web.Caching/OutputCacheProvider.cs +System.Web.Caching/OutputCacheProviderCollection.cs +System.Web.Caching/ResponseElement.cs +System.Web.Caching/SubstitutionResponseElement.cs System.Web.SessionState_2.0/SessionStateBehavior.cs System.Web.Routing/PageRouteHandler.cs System.Web.UI.WebControls/IDataBoundControl.cs |