コード例 #1
0
        /// <summary>Gets the configuration settings.</summary>
        private void GetConfigSettings()
        {
            string configFile  = Configuration.GetConnectionStringConfigFilePath();
            string defaultName = ConfigurationManager.AppSettings["DefaultConnectionStringName"];

            if (defaultName == null)
            {
                defaultName = "WheelMUDSQLite";
            }

            if (!File.Exists(configFile))
            {
                this.CreateConfigFile();
            }

            ExeConfigurationFileMap configMap = new ExeConfigurationFileMap();

            configMap.ExeConfigFilename = configFile;
            var config = ConfigurationManager.OpenMappedExeConfiguration(configMap, ConfigurationUserLevel.None);

            this.ConnectionStringName = config.ConnectionStrings.ConnectionStrings[defaultName].Name;
            this.ConnectionString     = config.ConnectionStrings.ConnectionStrings[defaultName].ConnectionString;
            this.Provider             = config.ConnectionStrings.ConnectionStrings[defaultName].ProviderName;

            if (this.ConnectionString.Contains("Files\\WheelMud.net.db"))
            {
                string path     = Path.GetDirectoryName(configFile);
                string fullPath = Path.Combine(path, "WheelMud.net.db");

                this.ConnectionString = this.ConnectionString.Replace("Files\\WheelMud.net.db", fullPath);
            }
        }
コード例 #2
0
        /// <summary>
        /// Gets the configuration settings.
        /// </summary>
        private void GetConfigSettings()
        {
            string connectionStringExe = Configuration.GetConnectionStringExePath();
            string configFile          = Configuration.GetConnectionStringConfigFilePath();
            string defaultName         = ConfigurationManager.AppSettings["DefaultConnectionStringName"];

            if (defaultName == null)
            {
                defaultName = "WheelMUDSQLite";
            }

            if (!File.Exists(connectionStringExe))
            {
                this.CreateDummyExe(connectionStringExe);
            }

            if (!File.Exists(configFile))
            {
                this.CreateConfigFile();
            }

            System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(connectionStringExe);

            this.ConnectionStringName = config.ConnectionStrings.ConnectionStrings[defaultName].Name;
            this.ConnectionString     = config.ConnectionStrings.ConnectionStrings[defaultName].ConnectionString;
            this.Provider             = config.ConnectionStrings.ConnectionStrings[defaultName].ProviderName;

            if (this.ConnectionString.Contains("Files\\WheelMud.net.db"))
            {
                string path     = Path.GetDirectoryName(connectionStringExe);
                string fullPath = Path.Combine(path, "WheelMud.net.db");

                this.ConnectionString = this.ConnectionString.Replace("Files\\WheelMud.net.db", fullPath);
            }
        }
コード例 #3
0
        private void CreateConfigFile()
        {
            string file = Configuration.GetConnectionStringFilePath();

            StreamReader stream = File.OpenText(file);

            string contents = stream.ReadToEnd();

            stream.Close();

            StreamWriter writer = File.CreateText(Configuration.GetConnectionStringConfigFilePath());

            writer.WriteLine("<configuration>");
            writer.WriteLine(contents);
            writer.WriteLine("</configuration>");
            writer.Flush();
            writer.Close();
        }
コード例 #4
0
        /// <summary>Creates the connection configuration file.</summary>
        private void CreateConfigFile()
        {
            string file = Configuration.GetConnectionStringConfigFilePath();

            var dirPath = Path.GetDirectoryName(file);

            Directory.CreateDirectory(dirPath);

            using (var writer = File.CreateText(Configuration.GetConnectionStringConfigFilePath()))
            {
                writer.WriteLine("<configuration>");
                writer.WriteLine("<connectionStrings>");
                writer.WriteLine("  <clear/>");
                writer.WriteLine("  <add name=\"WheelMUDSQLite\" providerName=\"System.Data.SQLite\" connectionString=\"Data Source = Files\\WheelMud.net.db; Version = 3; \"/>");
                writer.WriteLine("</connectionStrings>");
                writer.WriteLine("</configuration>");
                writer.Flush();
            }
        }
コード例 #5
0
        /// <summary>Gets the configuration settings.</summary>
        private void GetConfigSettings()
        {
            this.UserAccountIsPlayerCharacter             = this.GetBool("UserAccountIsPlayerCharacter");
            this.PlayerCharacterNamesMustUseSingleCapital = this.GetBool("PlayerCharacterNamesMustUseSingleCapital");

            var relationalSettings = this.GetConnectionStringSettings("RelationalDataProviderName", "WheelMUDSQLite");
            var documentSettings   = this.GetConnectionStringSettings("DocumentDataProviderName", "RavenDB");

            this.RelationalDataProviderName = relationalSettings.Name;
            this.RelationalConnectionString = relationalSettings.ConnectionString;
            this.DocumentDataProviderName   = documentSettings.Name;
            this.DocumentConnectionString   = documentSettings.ConnectionString;

            // Replace any tokens like {DataDir} in the connection strings with evaluated values.
            // This prevents new administrators from having to adjust App.config for user-specific paths.
            var dataDir = Configuration.GetDataStoragePath() + Path.DirectorySeparatorChar;

            this.RelationalConnectionString = this.RelationalConnectionString.Replace("{DataDir}", dataDir);
            this.DocumentConnectionString   = this.DocumentConnectionString.Replace("{DataDir}", dataDir);
        }