我想为我的解决方案设置一个web.config文件。如何指定我正在使用的配置文件的路径?
答案 0 :(得分:1)
以下是在web.config文件中指定新应用设置的方法。
<appSettings>
<add key="LoggingDir" value="C:\\Logs\\"/>
<add key="environment" value="test"/>
<add key="smtp.server" value="incoming.ABank.com"/>
</appSettings>
您可以通过
访问代码private static String logDirectory = ConfigurationManager.AppSettings["LoggingDir"].ToString();
private static String MailServer= ConfigurationManager.AppSettings["smtp.server"].ToString();
当我有很多时,我更喜欢单独的文件中的所有应用程序或环境设置。你可以通过
来做到这一点<appSettings configSource="env\ApplicationSettings.config"/>
然后在ApplicationSettings.config文件中的<appSettings> </appSettings>
部分上面写。
答案 1 :(得分:0)
如果您正在创建MVC应用程序,那么通常您可以使用ConfigurationManager访问配置文件(web.config,在项目的根目录中):
string sConnectionString = ConfigurationManager.ConnectionStrings["SqlServer"].ConnectionString;
您可以尝试使用以下方法加载其他配置文件:
ConfigurationManager.OpenExeConfiguration()
以下是ConfigurationManager类的MSDN文档的链接: http://msdn.microsoft.com/en-us/library/system.configuration.configurationmanager.aspx - 具体而言,其中包含有关该课程的预期用途和操作的一些信息。
希望有所帮助,
干杯!
答案 2 :(得分:0)
不知道你的项目是什么样子我会在这里出去。
只是一个FYI,在IIS中会有继承可以解决您的问题,只需确保在IIS中以相同的文件夹结构设置您的应用程序进行调试。
如果你有多个库,你不需要那些libs(app.config)的配置文件,那么你想要做什么来消除多个配置文件?你有多个网站吗?如果您只有一个站点和其他类库项目,则不会使用其他配置文件,因为它们不会在运行时使用。如果您有多个网站,请考虑继承。
10 things asp.net developers should know about web.config inheritance and overrides