Exemple #1
0
        public void Start()
        {
            var siteUrl = Settings.Default.SiteUrl;
            var portNumber = Settings.Default.PortNumber;

            var uri = string.Format("http://*:{0}{1}", portNumber, siteUrl);

            const string url = "http://localhost:11000";

            SmartDBEntities.SetConnection(Settings.Default.DBServer, Settings.Default.DBName,
                   Settings.Default.DBUser,
                   Encryption.Decrypt(Settings.Default.DBPassword));

            Program.ProcessLog.Write("Database connection string to " + Settings.Default.DBServer + " has successfully been made.");

            if (SmartDBEntities.IsDBAvailable)
                Program.ProcessLog.Write("Database connection  " + Settings.Default.DBServer + " has successfully been made.");
            else
                Program.ProcessLog.Write("Database connection  " + Settings.Default.DBServer + " has failed.");

            StartOptions options = new StartOptions();
            options.Urls.Add(string.Format("http://{0}:11000", Environment.MachineName));
            options.Urls.Add("http://localhost:11000/");
            options.Urls.Add(uri);

            dashboardAdapter = new DashboardAdapter(Settings.Default.ImageBrokerAddress, $"Dashboard:{Guid.NewGuid()}");

            //dashboardAdapter = new DashboardAdapter(Settings.Default.ImageBrokerAddress,
            //        string.Format("Dashboard:{0}", Guid.NewGuid()));
            dashboardAdapter.Register();

            Console.WriteLine(string.Format("Image Broker Configured At: {0}", Settings.Default.ImageBrokerAddress));

            Program.ProcessLog.Write("Image broker has been configured to connect to  " + Settings.Default.ImageBrokerAddress);
            Console.WriteLine(string.Format("Trying to connect to Image Broker: {0}", Settings.Default.ImageBrokerAddress));
            if (dashboardAdapter.IsConnected)
            {
                Console.WriteLine(string.Format("Connected to Image Broker: {0}", Settings.Default.ImageBrokerAddress));
                Program.ProcessLog.Write("The image broker is connected");
            }
            else
            {
                Console.WriteLine(string.Format("Not connected to image broker"));
                Program.ProcessLog.Write("The image broker is not connected");
            }

            host = WebApp.Start<Startup>(options);

            var hubConnection = new HubConnection(url);
            var hubProxy = hubConnection.CreateHubProxy("MyHub");

            hubConnection.Start().ContinueWith(task =>
            {

            }).Wait();

            var timer = new Timer(x =>
            {
                if (ConnectionMapping.Count <= 1) return;

                hubProxy.Invoke("Send").Wait();
            }, null, 0, 2000);
        }