diff options
author | Miguel de Icaza <miguel@gnome.org> | 2009-06-15 23:22:26 +0400 |
---|---|---|
committer | Miguel de Icaza <miguel@gnome.org> | 2009-06-15 23:22:26 +0400 |
commit | f393a5f321f5d4d1fc629c9ab74e064f658c26ea (patch) | |
tree | f182ad96900766556d7e55fa963754337e021d89 | |
parent | 4d8b0d9cebd6cab072f7e38cbc3dd4e37b274bd2 (diff) |
Backport
svn path=/branches/mono-2-4-2/mcs/; revision=136154
-rw-r--r-- | mcs/class/System.Web.Extensions/System.Web.Script.Services/ChangeLog | 4 | ||||
-rw-r--r-- | mcs/class/System.Web.Extensions/System.Web.Script.Services/ScriptHandlerFactory.cs | 13 |
2 files changed, 14 insertions, 3 deletions
diff --git a/mcs/class/System.Web.Extensions/System.Web.Script.Services/ChangeLog b/mcs/class/System.Web.Extensions/System.Web.Script.Services/ChangeLog index ddafdef243e..0dfeb100cb0 100644 --- a/mcs/class/System.Web.Extensions/System.Web.Script.Services/ChangeLog +++ b/mcs/class/System.Web.Extensions/System.Web.Script.Services/ChangeLog @@ -1,3 +1,7 @@ +2009-06-14 Robert Jordan <robertj@gmx.net> + + * ScriptHandlerFactory.cs: handle precompiled web services. + 2009-04-03 Marek Habersack <mhabersack@novell.com> * LogicalTypeInfo.cs: don't throw NREX when the passed type diff --git a/mcs/class/System.Web.Extensions/System.Web.Script.Services/ScriptHandlerFactory.cs b/mcs/class/System.Web.Extensions/System.Web.Script.Services/ScriptHandlerFactory.cs index d1bb30b513b..77279e7b0e2 100644 --- a/mcs/class/System.Web.Extensions/System.Web.Script.Services/ScriptHandlerFactory.cs +++ b/mcs/class/System.Web.Extensions/System.Web.Script.Services/ScriptHandlerFactory.cs @@ -30,6 +30,7 @@ using System; using System.Collections.Generic; using System.Text; +using System.Web.Compilation; using System.Web.Services.Protocols; using System.Web.UI; @@ -47,14 +48,20 @@ namespace System.Web.Script.Services HttpRequest request = context.Request; string contentType = request.ContentType; if (!String.IsNullOrEmpty (contentType) && contentType.StartsWith ("application/json", StringComparison.OrdinalIgnoreCase)) { - Type handlerType; + Type handlerType = null; if (url.EndsWith (ProfileService.DefaultWebServicePath, StringComparison.Ordinal))
handlerType = typeof (ProfileService); else if (url.EndsWith (AuthenticationService.DefaultWebServicePath, StringComparison.Ordinal)) handlerType = typeof(AuthenticationService); - else - handlerType = WebServiceParser.GetCompiledType (url, context); + else { +#if !TARGET_JVM + handlerType = BuildManager.GetCompiledType (url); +#endif + if (handlerType == null) + handlerType = WebServiceParser.GetCompiledType (url, context); + } + return RestHandler.GetHandler (context, handlerType, url); } if (request.PathInfo.StartsWith ("/js", StringComparison.OrdinalIgnoreCase)) |