HttpContext context = app.Context;\r
HttpRequest request = context.Request;\r
string contentType = request.ContentType;\r
- if (context.CurrentHandler is Page && !String.IsNullOrEmpty (contentType) && contentType.StartsWith ("application/json", StringComparison.OrdinalIgnoreCase)) {\r
- IHttpHandler h = RestHandler.GetHandler(context, ((Page) context.CurrentHandler).GetType (), request.FilePath);\r
+ Type pageType = context.CurrentHandler.GetType ();\r
+#if TARGET_J2EE\r
+ if (!(context.CurrentHandler is Page) && context.CurrentHandler is IServiceProvider) {\r
+ pageType = (Type) ((IServiceProvider) context.CurrentHandler).GetService (typeof (Type));\r
+ if (pageType == null)\r
+ return;\r
+ }\r
+#endif\r
+ if (typeof (Page).IsAssignableFrom (pageType) && !String.IsNullOrEmpty (contentType) && contentType.StartsWith ("application/json", StringComparison.OrdinalIgnoreCase)) {\r
+ IHttpHandler h = RestHandler.GetHandler (context, pageType, request.FilePath);\r
h.ProcessRequest (context);\r
app.CompleteRequest ();\r
}\r
HttpContext context = app.Context;\r
if (context.Request.Headers ["X-MicrosoftAjax"] == "Delta=true") {\r
Page p = context.CurrentHandler as Page;\r
+#if TARGET_J2EE\r
+ if (p == null && context.CurrentHandler is IServiceProvider)\r
+ p = (Page) ((IServiceProvider) context.CurrentHandler).GetService (typeof (Page));\r
+#endif\r
if (p == null)\r
return;\r
ScriptManager sm = ScriptManager.GetCurrent (p);\r