• Webinars
  • Docs
  • Download
  • Blogs
  • Contact Us
Try Free
Show / Hide Table of Contents

NCache Extension for ASP.NET SignalR Backplane

Note

This feature is available in NCache Enterprise and Professional editions.

NCache extends the IDependencyResolver DependencyResolver() method with its UseNCache() method which requires just the cache name and event key for the item added. This acts as the registration point for the clients against the SignalR implementation.

UseNCache() takes in the following parameters:

Parameters Type Description
cacheName string Name of the cache in NCache which will store the respective item for the client to trace updates via itemVersion.
eventKey string Unique, user specified key attribute for the item added to NCache on client registration. Event key is specific to the application. Each client of the application will use the same event key while calling NCache's extension method.
configuration NCacheScaleoutConfiguration An object of NCacheScaleoutConfiguration which extends the ScaleoutConfiguration class and takes in cacheName, eventKey, userid, and password as members.

Prerequisites

To utilize SignalR in your application:

  • Install the AspNet.SignalR.NCache Enterprise/Professional/OpenSource NuGet package to your application by executing the following command in the Package Manager Console:

  • For Enterprise:

    Install-Package AspNet.SignalR.NCache
    
  • For Professional:

    Install-Package AspNet.SignalR.NCache.Professional 
    
  • To utilize the extension, include the following namespaces in your application in Startup.cs:

    • Alachisoft.NCache.AspNet.SignalR
    • Microsoft.AspNet.SignalR
  • Make sure to use the version >= 2.4.0 of ASP.NET SignalR.

Modify Web.config

Define the cacheName and eventKey in the <appSettings> tag in Web.config of your application:

<configuration>

  <appSettings>
    <add key="cache" value="myPartitionedCache"/>
    <add key="eventKey" value="Chat"/>
  </appSettings>

</configuration>

Register Clients to use NCache

Register an instance of the UseNCache() method in Startup.csof your application in either of the following overloads:

Overload 1:

public static IDependencyResolver UseNCache(this IDependencyResolver resolver, string cacheName, string eventKey);
public class Startup
{
    public void Configuration(IAppBuilder app)
    {
        string cache, eventKey;   
        cache = ConfigurationManager.AppSettings["cache"];
        eventKey = ConfigurationManager.AppSettings["eventKey"];            

        GlobalHost.DependencyResolver.UseNCache(cache, eventKey); //using NCache SignalR

        app.MapSignalR();
    }
}

Overload 2:

public static IDependencyResolver UseNCache(this IDependencyResolver resolver, NCacheScaleoutConfiguration configuration);
public class Startup
{
    public void Configuration(IAppBuilder app)
    {
        string cache, eventKey, userId, password;  
        cache = ConfigurationManager.AppSettings["cache"];
        eventKey = ConfigurationManager.AppSettings["eventKey"];  
        userId = ConfigurationManager.AppSettings["userID"]; 
        password = ConfigurationManager.AppSettings["password"];  

        var configuration = new NCacheScaleoutConfiguration(cache, eventKey, userId, password);

        GlobalHost.DependencyResolver.UseNCache(configuration); //using NCache SignalR

        app.MapSignalR();
    }
}

Additional Resources

NCache provides sample application for SignalR on GitHub.

See Also

ASP.​NET Session State Provider for NCache
View State Caching
Multi-Region ASP.NET Session State Provider for NCache

Back to top Copyright © 2017 Alachisoft