Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7967813
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 4, 20262026-06-04T06:58:51+00:00 2026-06-04T06:58:51+00:00

My project has a need for realtime user interaction and I think SignalR will

  • 0

My project has a need for realtime user interaction and I think SignalR will solve my need. I’m technically on a SharePoint 2007 project, although I’m exclusively in application pages and thus barely use SharePoint at all. Regardless, I’m stuck in a 2.0 framework app pool in IIS.

My first approach was to try to create a 4.0 application as a sub-site. Unfortunately, that failed miserably. That approach works in a non-SharePoint world, but it appears that SharePoint has hijacked too much of the request pipeline for this approach to work for me.

So now I’m going down the path of creating a separate IIS Site that’s 4.0 and using IIS rewrite rules to fake my app into thinking a particular subdirectory (/realtime/) is local and not a separate site so that I don’t have to deal with cross domain request issues. The problem is I can’t get IIS rewrite rules to rewrite to another http host (e.g. http://www.mySharepoint.com/_layouts/MySite/realtime/Hello.aspx to http://realtime.mySharePoint.com/Hello.aspx).

Any help with approach #1 or approach #2 or any alternative ideas would be greatly appreciated.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-04T06:58:52+00:00Added an answer on June 4, 2026 at 6:58 am

    Here is what I did… Web App with signalR .net4.0, then your SharePoint Web App .net 2.

    1. Add this to the global.asax in your Signalr project

      RouteTable.Routes.MapHttpHandlerRoute("spproxy","spproxy/{*operation}", new SharePointRProxyHandler());
      
    2. If you want to raise an event from SharePoint you can do a http POST to this new route URL for example

       http://localhost:38262/spproxy
      

      It will pass any posted data onto the httphandler below, that will then broadcast it to your clients.

    Here is the code for MapHttpHandlerRoute

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    
    namespace System.Web.Routing
    {
    public class HttpHandlerRoute : IRouteHandler
    {
        private String _virtualPath = null;
        private IHttpHandler _handler = null;
    
        public HttpHandlerRoute(String virtualPath)
        {
            _virtualPath = virtualPath;
        }
    
        public HttpHandlerRoute(IHttpHandler handler)
        {
            _handler = handler;
        }
    
        public IHttpHandler GetHttpHandler(RequestContext requestContext)
        {
            IHttpHandler result;
            if (_handler == null)
            {
                result = (IHttpHandler)System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(_virtualPath, typeof(IHttpHandler));
            }
            else
            {
                result = _handler;
            }
            return result;
        }
    }
    
    public static class RoutingExtensions
    {
        public static void MapHttpHandlerRoute(this RouteCollection routes, string routeName, string routeUrl, string physicalFile, RouteValueDictionary defaults = null, RouteValueDictionary constraints = null)
        {
            var route = new Route(routeUrl, defaults, constraints, new HttpHandlerRoute(physicalFile));
            RouteTable.Routes.Add(routeName, route);
        }
    
        public static void MapHttpHandlerRoute(this RouteCollection routes, string routeName, string routeUrl, IHttpHandler handler, RouteValueDictionary defaults = null, RouteValueDictionary constraints = null)
        {
            var route = new Route(routeUrl, defaults, constraints, new HttpHandlerRoute(handler));
            RouteTable.Routes.Add(routeName, route);
        }
    }
    }
    

    Or you could just post directly to a httphandler and get the handler to do a connection.Broadcast

    namespace SharePointRProxy
    {
     /// <summary>
     /// Summary description for SharePointRProxyHandler
     /// </summary>
     public class SharePointRProxyHandler : IHttpHandler
     {
    
         public void ProcessRequest(HttpContext context)
         {
             context.Response.ContentType = "text/plain";
             IConnectionManager connectonManager = AspNetHost.DependencyResolver.Resolve<IConnectionManager>();
             IConnection connection = connectonManager.GetConnection<MyConnection>();
    
             object payload = null; //Add payload here 'context.Request.Params["data"] ?'
    
             JavaScriptSerializer jss = new JavaScriptSerializer();
             var payloadJSON = jss.Serialize(payload);
    
             connection.Broadcast(payloadJSON);
         }
    
         public bool IsReusable
         {
             get
             {
                 return false;
             }
         }
     }
    }
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

My project has multiple themes with different colors. I need to skin certain textboxes
in my project i need a tow tables each of it has about 2000
I need to know, what renderer has been used in the Sintel project. I
My project has a C++ library that I want to allow the user to
I'm working on a project for school and I need to track a user
I need create a very big project, the project has a lot of tables
My project has the need to build consistent urls similar to the ones here
A project has various local HTML & video files for help pages. We need
My current iPad project-in-progress has the need for a sequence of events; It roughly
I made a android project, now my project has a need to set up

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.