public static void ConfigureSignalR(IAppBuilder app)
        {
            // Create a new serialize without supporting camelCase member names.
            // Unfortunately, SignalR uses C# style property names instead of JS style names.
            var serializer = new JsonSerializer
            {
                MissingMemberHandling      = MissingMemberHandling.Ignore,
                PreserveReferencesHandling = PreserveReferencesHandling.None,
                ObjectCreationHandling     = ObjectCreationHandling.Replace,
                ReferenceLoopHandling      = ReferenceLoopHandling.Ignore,
                NullValueHandling          = NullValueHandling.Ignore,
                ContractResolver           = new CamelCaseContractResolver()
            };

            serializer.Converters.Add(new StringEnumConverter {
                CamelCaseText = true
            });
            serializer.Converters.Add(new IsoDateTimeConverter());

            GlobalHost.HubPipeline.AddModule(new ErrorHubPipelineModule());
            GlobalHost.DependencyResolver.Register(typeof(JsonSerializer), () => serializer);
            GlobalHost.DependencyResolver.Register(typeof(LogManager), () => HttpCompositionProvider.Current.GetExport <LogManager>());

            NotificationHubConfig.Configure(app);
            ChatHubConfig.Configure(app);

            app.MapSignalR("/signalr", new HubConfiguration
            {
                EnableDetailedErrors    = false,
                EnableJavaScriptProxies = false,
                EnableJSONP             = false
            });
        }
Пример #2
0
 public Notifications(IOptions <NotificationHubConfig> notificationHubConfig)
 {
     this.notificationHubConfig = notificationHubConfig.Value;
     Hub = NotificationHubClient.CreateClientFromConnectionString(this.notificationHubConfig.SubscriptionId, this.notificationHubConfig.Name);
 }
Пример #3
0
 public NotificationManager(IOptions <NotificationHubConfig> hubConfigOptions)
 {
     config            = hubConfigOptions.Value;
     Hub               = NotificationHubClient.CreateClientFromConnectionString(config.NotificationHub, config.NotificationHubName);
     registeredDevices = new List <UserDevice>();
 }