C# – OwinStartup and startup in signalr in asp.net mvc

cowinsignalr

i have a problem with SignalR in asp.net mvc
i add a package below:
enter image description here

and add Startup.cs

using Microsoft.Owin;
using Owin;
[assembly: OwinStartup(typeof(Paksh.Startup))]
namespace Paksh
 {
   public class Startup
    {
      public static void ConfigureSignalR(IAppBuilder app)
       {
                  app.MapSignalR();
       }
     }
 }

but i get error:

The following errors occurred while attempting to load the app.
– The OwinStartupAttribute.FriendlyName value '' does not match the given value 'ProductionConfiguration' in Assembly 'Paksh, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.
– The given type or method 'ProductionConfiguration' was not found. Try specifying the Assembly.
To disable OWIN startup discovery, add the appSetting owin:AutomaticAppStartup with a value of "false" in your web.config.
To specify the OWIN startup Assembly, Class, or Method, add the appSetting owin:AppStartup with the fully qualified startup class or configuration method name in your web.config.

Best Answer

The error clearly states that

The given [...] method 'ProductionConfiguration' was not found.

This means that the OWIN Startup Class Detection was looking for a method called ProductionConfiguration on the type you provided (Paksh.Startup), but could not find it. Something tells me that you have something similar to this in your web.config as well:

<appSettings>  
  <add key="owin:appStartup" value="ProductionConfiguration" />       
</appSettings>

You have several options to solve this:

  1. Change the name of the ConfigureSignalR method to ProductionConfiguration
  2. Specify the correct method name in the OwinStartupAttribute: [assembly: OwinStartup(typeof(Paksh.Startup), "ConfigureSignalR")]

To get to know the OWIN startup class detection, read more here.