Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiguel de Icaza <miguel@gnome.org>2009-06-15 23:22:26 +0400
committerMiguel de Icaza <miguel@gnome.org>2009-06-15 23:22:26 +0400
commitf393a5f321f5d4d1fc629c9ab74e064f658c26ea (patch)
treef182ad96900766556d7e55fa963754337e021d89
parent4d8b0d9cebd6cab072f7e38cbc3dd4e37b274bd2 (diff)
Backport
svn path=/branches/mono-2-4-2/mcs/; revision=136154
-rw-r--r--mcs/class/System.Web.Extensions/System.Web.Script.Services/ChangeLog4
-rw-r--r--mcs/class/System.Web.Extensions/System.Web.Script.Services/ScriptHandlerFactory.cs13
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))