2) At Bootstrapper.cs, method RegisterRootes, add to root collection "routes" the page route handler that will process the requests that contain "MyPage" at url.
Note: Be aware that the route handler that first match will serve the request, so MyPageRooteHandler should be added to "routes" collection before possible other matches.
Sitefinity uses ASP.Net Routing Engine to handle incoming requests. This shouldn’t be preventing you from using mapped HttpHandlers, but it seems some Sitefinity route is catching all requests. We will investigate and fix this as soon as possible.
In the mean time you could register your own route with the system to handle that specific request. Please disregard the previously suggested steps and follow the once bellow:
1. Crate custom route handler like this:
2. Add Global.asax file to your project and modify it as shown below:
NOTE: "my.page" is the URL to which you want to map your HttpHandler. It could be a specific URL or URL pattern. Please see MSDN documentation how to specify URL patterns. Since routes are evaluated in the order they are defined in the route collection, you may need to rearrange them if other route is catching the request before yours. Let me know if you have further questions.
the Telerik team
Well, it is disputable whether it is a bug or not. Anyway, you will be able to set the behavior, so this solution will continue to work. Furthermore it will probably be extended to support URL patterns instead of blindly putting the rest of the URL as parms.
When we were on Sitefinity 5.0, we were able to add HttpHandlers directly, but as of 5.2 we couldn't anymore. We had to add RouteHandlers. We did this in Bootstrapper_Initialized via the following code, which worked fine locally, but not when we ran it in IIS.
var routes = ((EnumerableQuery<RouteBase>)args.Data).ToList();
The fix seemed to be adding them to RouteTable.Routes directly instead.
I'm posting this for two reasons. First, if anyone sees any issue with this, please let me know. Second, hopefully this will help someone else out. This has only been tested in Sitefinity 5.4, so I can't speak for earlier versions.
In case someone else is struggeling with this!
Registering custom routes has changed in newer versions of SF. In 7.2 the following works: