[Mono-dev] HttpRuntime.Cache crashing HttpListener in console application
Gonzalo Paniagua Javier
gonzalo.mono at gmail.com
Wed Apr 1 16:51:40 EDT 2009
Do you mind entering this information in https://bugzilla.novell.com ?
Under "Mono::class libraries" - Sys.Web.
Thanks!
-Gonzalo
On Wed, 2009-04-01 at 09:46 -0700, MemphisWeb wrote:
> If I Cache data using System.Web.Caching in a console application I get an
> exception if I ltry to start a HttpListener object. It seems that somewhere
> in System.Net it is looking for Cache Settings in a web.config.
>
> This is a bug because the behavior does not exist in the .net runtime.
>
> Is there a workaround?
>
> ############################
>
> using System;
> using System.Web;
> using System.Web.Caching;
> using System.Net;
>
> namespace TestWeb
> {
> class MainClass
> {
> public static void Main(string[] args)
> {
> /* Uncomment to section to produce error
> *
> Cache cache = HttpRuntime.Cache;
> cache["hello"] = "world";
> Console.WriteLine("Hello World!");
>
> Cache cacheClone = HttpRuntime.Cache;
> string s = cacheClone["hello"] as String;
> Console.Write(s);
> */
>
> System.Net.HttpListener listener = new System.Net.HttpListener();
> listener.Prefixes.Add("http://192.168.1.101:8081/");
> listener.Start();
>
> Console.WriteLine(listener.IsListening);
> }
> }
> }
>
> Hello World!
> world
> Unhandled Exception: System.TypeInitializationException: An exception was
> thrown by the type initializer for System.Net.Sockets.Socket --->
> System.NullReferenceException: Object reference not set to an instance of an
> object
> at System.Web.Configuration.WebConfigurationManager.GetSectionCacheKey
> (System.String sectionName, System.String path) [0x00000] in
> /usr/src/packages/BUILD/mono-2.4/mcs/class/System.Web/System.Web.Configuration_2.0/WebConfigurationManager.cs:487
> at System.Web.Configuration.WebConfigurationManager.GetSection
> (System.String sectionName, System.String path) [0x00000] in
> /usr/src/packages/BUILD/mono-2.4/mcs/class/System.Web/System.Web.Configuration_2.0/WebConfigurationManager.cs:313
> at System.Web.Configuration.WebConfigurationManager.GetSection
> (System.String sectionName) [0x00000] in
> /usr/src/packages/BUILD/mono-2.4/mcs/class/System.Web/System.Web.Configuration_2.0/WebConfigurationManager.cs:308
> at
> System.Web.Configuration.HttpConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem.GetSection
> (System.String configKey) [0x00000] in
> /usr/src/packages/BUILD/mono-2.4/mcs/class/System.Web/System.Web/UplevelHelper.cs:1
> at System.Configuration.ConfigurationManager.GetSection (System.String
> sectionName) [0x00000] in
> /usr/src/packages/BUILD/mono-2.4/mcs/class/System.Configuration/System.Configuration/ConfigurationManager.cs:162
> at System.Net.Sockets.Socket.CheckProtocolSupport () [0x0003c] in
> /usr/src/packages/BUILD/mono-2.4/mcs/class/System/System.Net.Sockets/Socket.cs:1342
> at System.Net.Sockets.Socket..cctor () [0x0000c] in
> /usr/src/packages/BUILD/mono-2.4/mcs/class/System/System.Net.Sockets/Socket.cs:601
> --- End of inner exception stack trace ---
> at System.Net.EndPointListener..ctor (System.Net.IPAddress addr, Int32
> port, Boolean secure) [0x00028] in
> /usr/src/packages/BUILD/mono-2.4/mcs/class/System/System.Net/EndPointListener.cs:58
> at System.Net.EndPointManager.GetEPListener (System.Net.IPAddress addr,
> Int32 port, System.Net.HttpListener listener, Boolean secure) [0x00064] in
> /usr/src/packages/BUILD/mono-2.4/mcs/class/System/System.Net/EndPointManager.cs:96
> at System.Net.EndPointManager.AddPrefixInternal (System.String p,
> System.Net.HttpListener listener) [0x00050] in
> /usr/src/packages/BUILD/mono-2.4/mcs/class/System/System.Net/EndPointManager.cs:78
> at System.Net.EndPointManager.AddListener (System.Net.HttpListener
> listener) [0x0002a] in
> /usr/src/packages/BUILD/mono-2.4/mcs/class/System/System.Net/EndPointManager.cs:49
More information about the Mono-devel-list
mailing list