示例#1
0
        protected void imagePlay_Click(object sender, ImageClickEventArgs e)
        {
            if (PreWarmUp.Started == DateTime.MinValue)
            {
                System.Security.Principal.WindowsImpersonationContext impersonationContext;
                impersonationContext =
                    ((System.Security.Principal.WindowsIdentity)HttpContext.Current.User.Identity).Impersonate();

                IISHelpers.SetAutoStartProvider();
                IISHelpers.SetAutoStart(HttpContext.Current.Request.ApplicationPath, true);

                impersonationContext.Undo();

                Thread.Sleep(1000); // allow IIS to warmup.
                Response.Redirect("./");
                return;
            }


            this.ServiceState = EnumServiceState.Started;
            if (OnChangeServiceState != null)
            {
                OnChangeServiceState(this, e);
            }
        }
        private void cmdEndSession_Click(object sender, EventArgs e)
        {
            DialogResult scelta;


            if (IsActiveSession)
            {
                scelta = MessageBox.Show("Sei sicuro di voler terminare la sessione?", "termina sessione", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

                if (scelta == DialogResult.Yes)
                {
                    tmrElaspedTime.Stop();
                    IsActiveSession    = false;
                    cmdEndSession.Text = "Fatto";
                    IISHelpers.StopSite();
                }
            }
            else
            {
                Close();

                //QuestionnaireSession.Stampa("valutazioni.rtf");

                //System.Diagnostics.Process.Start("valutazioni.rtf");
            }
        }
        private void cmdCommitChanges_Click(object sender, EventArgs e)
        {
            IPAddress ipAddress;

            if (Helpers.IsValuedString(txtIPAddress.Text) && (IPAddress.TryParse(txtIPAddress.Text, out ipAddress) || txtIPAddress.Text == "*") && Helpers.IsValuedString(txtPort.Text) && Helpers.IsValidPortNumber(txtPort.Text))
            {
                IISHelpers.ModifySite(new IISBindingConfiguration(IISSiteConfiguration.Questionnaire.BindingConfiguration.Protocol, txtIPAddress.Text, txtPort.Text, txtHostname.Text));
            }
            else
            {
                MessageBox.Show("Dati non validi, reinserirli correttamente.", "Erorre", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
示例#4
0
 static void Main()
 {
     if (AdministratorPrivileges())
     {
         if (IISHelpers.IISInstalled())
         {
             Application.EnableVisualStyles();
             Application.SetCompatibleTextRenderingDefault(false);
             Application.Run(new fMain());
         }
         else
         {
             MessageBox.Show("Provvedere all'installazione di IIS 7 su questa macchina prima di procedere all'utilizzo dell'applicazione.", "IIS 7 non installato", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
     }
     else
     {
         MessageBox.Show("Richieste credenziali di amministratore per utilizzare l'applicazione.", "Errore di autorizzazione", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
示例#5
0
        protected void imageStop_Click(object sender, ImageClickEventArgs e)
        {
            System.Security.Principal.WindowsImpersonationContext impersonationContext;
            impersonationContext =
                ((System.Security.Principal.WindowsIdentity)HttpContext.Current.User.Identity).Impersonate();

            IISHelpers.SetAutoStartProvider();
            IISHelpers.SetAutoStart(HttpContext.Current.Request.ApplicationPath, false);

            impersonationContext.Undo();

            Thread.Sleep(1000); // allow the application host to reset.
            Response.Redirect("./");

            //this.ServiceState = EnumServiceState.Stopped;
            //if (OnChangeServiceState != null)
            //{
            //    OnChangeServiceState(this, e);
            //}
        }
        public fServerManagement(Administrator administrator)
        {
            InitializeComponent();
            Text += administrator.FullName;
            ControlsUtilities.ApplyAppIcon(this);

            Administrator = administrator;
            ServerManager IISManager = new ServerManager();

            txtSiteName.Text    = IISSiteConfiguration.Questionnaire.Name;
            txtAppPoolName.Text = IISSiteConfiguration.Questionnaire.ApplicationPoolConfiguration.Name;
            txtSitePath.Text    = IISSiteConfiguration.Questionnaire.PhysicalPath;

            if (IISHelpers.SiteExists(IISSiteConfiguration.Questionnaire.Name))
            {
                IISSiteConfiguration localQuestionnaireConfig = IISSiteConfiguration.FromLocalQuestionnaire();
                //QuestionnaireSite already exist
                if (localQuestionnaireConfig.IsQuestionnaireCompatible())
                {
                    //valid configuration is stored on the local machine
                    txtHostname.Text  = localQuestionnaireConfig.BindingConfiguration.Hostname;
                    txtPort.Text      = localQuestionnaireConfig.BindingConfiguration.Port;
                    txtIPAddress.Text = localQuestionnaireConfig.BindingConfiguration.IPAddress;
                }
                else
                {
                    //invalid configuration (non-allowed changes have been made from the IIS panel)
                    IISHelpers.ResetSite();
                    MessageBox.Show("La configurazione sito-application pool è stata resettata perché sono state effettuate dal pannell di amministrazione IIS delle modifiche non supportate da questa applicazione.", "Attenzione", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
            else
            {
                //QuestionnaireSite does not already exist
                SetDefaultValues();
                IISHelpers.CreateSite();
                MessageBox.Show("Sito non esistente. Creazione con parametri di default avvenuta con successo.", "Info", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
示例#7
0
        private async void cmdGenerate_Click(object sender, EventArgs e)
        {
            if (await TryParseQuestionnaireSessionDataAsync())
            {
                //Topic t = new Topic("Reti", Teacher.ID, new Guid("3FD943CE-9C4E-4FB7-8E95-457E63A05D67"));
                //QuestionnaireOptions o = new QuestionnaireOptions() { QuestionsNumber = 5 };
                //Questionnaire q = new Questionnaire(t, o);
                //QuestionnaireSession qSession = new QuestionnaireSession(q, new List<Student>() { new Student(new BasicUserProperties("Michele", "Bitetti", new DateTime(1996, 4, 2), ""), new Guid("11D96790-0F98-41D8-A72E-30188978C1FE"), new Guid("7A2E1569-6FD2-4998-A74E-F3ED69E9DF68"), new Guid("E6487E82-8F16-4917-95FB-ADC6056B1D87")) }, "Test questionnaire session");
                //qSession.SaveAsync();
                //qSession.CurrentServerSessionSerializitazion();
                //qSession.SaveSerialization();
                //QuestionnaireSession qSession2 = QuestionnaireSession.BinaryDeserialize(AppConfiguration.questionnaireSessionFilePath);

                QuestionnaireSession.SaveAsync();
                QuestionnaireSession.CurrentServerSessionSerializitazion();
                QuestionnaireSession.SaveSerialization();

                /*
                 * if(true) //IIS required
                 * {
                 *  if (!(IISHelpers.SiteExists() && IISSiteConfiguration.FromLocalQuestionnaire().IsQuestionnaireCompatible()))
                 *      IISHelpers.CreateSite();
                 *
                 * }*/
                IISHelpers.StartSite();

                currentSessionForm = new fCurrentQuestionnaireSession(QuestionnaireSession, Teacher);

                toUpdate = true;
                currentSessionForm.ShowDialog();
            }
            else
            {
                MessageBox.Show("Dati non validi", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
 public void GetSiteTest()
 {
     IISHelpers.SetAutoStartProvider();
     IISHelpers.SetAutoStart("/IISProcessScheduler", true);
 }