Solved

How do I call SetSessionStateBehavior(SessionStateBehavior.ReadOnly)  in ASP .Net MVC SignalR 2.x application?

Posted on 2014-03-14
1
1,240 Views
Last Modified: 2014-03-18
Hi:

I'm relatively new to the world of SignalR. I've got a couple of questions some of ya'll can possibly help me with.

My question sets are two fold. I've been looking at a chat example and there are a couple of things I'm trying understand.

This sample is built using SignalR 1.x libraries.
The code sample from the Global.asax.c file is as follows:
using System;
using System.Web;
using System.Web.Routing;
using System.Web.SessionState;
 
namespace MyApplication
{
    public class Global : System.Web.HttpApplication
    {
        private static RouteBase hubRoute;
 
        protected void Application_Start(object sender, EventArgs e)
        {
            hubRoute = RouteTable.Routes.MapHubs();
        }
 
        protected void Application_BeginRequest(object sender, EventArgs e)
        {
            if (IsSignalRRequest(Context))
            {
                // Turn readonly sessions on for SignalR
                Context.SetSessionStateBehavior(SessionStateBehavior.ReadOnly);
            }
        }
 
        private bool IsSignalRRequest(HttpContext context)
        {
            RouteData routeData = hubRoute.GetRouteData(new HttpContextWrapper(context));
 
            // If the routeData isn't null then it's a SignalR request
            return routeData != null;
        }
    }
}

Open in new window



Question 1) I'm not clear on the concept of SetSessionStateBehavior being set to ReadOnly. What is the effect of this and why would we do this in the SignalR instance?



Question 2) I've been currently tasked with moving our implementation from the SignalR 1.x to 2.x libraries. How would I replicate this functionality using the 2.x libraries?

Thanks,
JohnB
0
Comment
Question by:jxbma
1 Comment
 
LVL 27

Accepted Solution

by:
Sammy earned 500 total points
Comment Utility
John,

1- Session state is not supported from within SignalR as it interferes with the processing of simultaneous requests from the same user. In 2.0 HTTPContext.Current.Session property is null because SignalR requests are handled before the session state module is initialized.

2- You don't need to duplicate this behavior anymore as its the default and only behavior for SignalR

for more troubleshooting SignalR issues, see this
http://www.asp.net/signalr/overview/signalr-20/troubleshooting-and-debugging/troubleshooting
0

Featured Post

Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

Join & Write a Comment

Just a quick little trick I learned recently.  Now that I'm using jQuery with abandon in my asp.net applications, I have grown tired of the following syntax:      (CODE) I suppose it just offends my sense of decency to put inline VBScript on a…
Introduction This article shows how to use the open source plupload control to upload multiple images. The images are resized on the client side before uploading and the upload is done in chunks. Background I had to provide a way for user…
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…
This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're looking for how to monitor bandwidth using netflow or packet s…

728 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now