예제 #1
0
        private void ConnectionStringProtection(bool protect)
        {
            try
            {
                var oConfiguration = ConfigurationHelpers.GetCurrentConfiguration();

                if (oConfiguration == null)
                {
                    return;
                }
                //var blnChanged = false;
                var oSection = oConfiguration.GetSection("connectionStrings") as ConnectionStringsSection;

                if (oSection == null)
                {
                    return;
                }
                if ((oSection.ElementInformation.IsLocked) || (oSection.SectionInformation.IsLocked))
                {
                    throw new Exception("File Configuration is locked");
                }
                if (protect)
                {
                    if (!(oSection.SectionInformation.IsProtected))
                    {
                        oSection.SectionInformation.ProtectSection(DATA_PROTECTION_PROVIDER);
                    }
                }
                else
                {
                    if (oSection.SectionInformation.IsProtected)
                    {
                        oSection.SectionInformation.UnprotectSection();
                        ConnectionString = oSection.ConnectionStrings["ConnectionStringEntities"].ConnectionString;
                    }
                    else
                    {
                        ConnectionString = oSection.ConnectionStrings["ConnectionStringEntities"].ConnectionString;
                        var isweb = ConfigurationManager.AppSettings["IsWebApps"];
                        if (isweb.Equals("0"))
                        {
                            oSection.SectionInformation.ProtectSection(DATA_PROTECTION_PROVIDER);
                            oSection.SectionInformation.ForceSave = true;
                            oConfiguration.Save();
                        }
                    }
                }

                //if (blnChanged)
                //{
                //    oSection.SectionInformation.ForceSave = true;
                //    oConfiguration.Save();
                //}
            }
            catch (Exception ex)
            {
                ConnectionString = ConfigurationManager.ConnectionStrings["lexyEntities"].ConnectionString;
                Console.WriteLine(ex.Message);
            }
        }