在何处放置Web API的配置设置

时间:2016-08-02 11:11:15

标签: entity-framework c#-4.0 asp.net-web-api connection-string app-config

我正在使用Web API和实体框架。最初我的连接字符串在web.config文件中。 Web API托管在IIS服务器中。连接字符串将由实用程序加密(可执行文件未知可能是第三方),因此当连接字符串将在web.config中加密时,API将再次重新启动,我们不想重新启动API。

我可以将所有设置保存在app.config而不是web.config中,以避免重新启动Web API或注册表是保持连接字符串超过配置文件的不错选择吗?

我在app.config中使用了以下代码读取连接字符串。

string codeBase = System.Reflection.Assembly.GetExecutingAssembly().CodeBase;
        UriBuilder uri = new UriBuilder(codeBase);
        string path = Uri.UnescapeDataString(uri.Path);
        string configPath = Path.Combine(Path.GetDirectoryName(path), "database.config");

        if (File.Exists(configPath))
        {
            var configMap = new ExeConfigurationFileMap
            {
                ExeConfigFilename = configPath
            };

            Configuration config = ConfigurationManager.OpenMappedExeConfiguration(configMap, ConfigurationUserLevel.None);
            string connectionString = config.ConnectionStrings.ConnectionStrings["DatabaseContext"].ToString();

        }

请建议。

0 个答案:

没有答案