protected void Application_Start() { logger.Info("Application_Start"); AreaRegistration.RegisterAllAreas(); WebApiConfig.Register(GlobalConfiguration.Configuration); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); AuthConfig.RegisterAuth(); Microsoft.AspNet.SignalR.GlobalHost.DependencyResolver .Register(typeof(ChatConnection), () => new ChatConnection(ChatClient.Queue)); // TODO: make more robust if (ChatClient == null) { // restart logger.Info("new ChatClient"); ChatClient = new ChatClient("system"); new Task(() => ChatClient.Start()).Start(); ChatClient.Feed.Subscribe(_chattedEventObserver); } }
public override void Dispose() { base.Dispose(); // TODO: ChatClient.Stop()? ChatClient = null; _chattedEventObserver = null; }