Web.config 和 App.config 的区别分析
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Web.config 和 App.config 的区别分析相关的知识,希望对你有一定的参考价值。
web.config是web应用程序的配置文件,为web应用程序提供相关配置。在你开发的web程序中,你可以为每一个文件夹建立一个web.config.app.config是桌面应用程序的配置文件。在vs.net中创建一个桌面应用程序工程并添加了应用程序配置文件时,它会自动命名为<appname>.exe.config,并且自动与你的程序进行关联。
不管是web.config,还是app.config,你都可以使用下面的方法获取appsetting节的值:
System.Configuration.COnfigurationSettings.AppSettings["Key"]
如果你对web.config进行了修改,你的web应用程序将立即加载新的web.config。而当你对app.config进行了修改,必须重新启动桌面应用程序,app.config才能生效。
我在一些资料上找到了以下一些东西,但不能确定两者之间会不会还有其他的不同:
app.config,顾名思义,是桌面应用程序的配置文件,它不能用于Class类库。web.config是ASP.NET应用程序的配置文件。
(ps:Class类库其实可以用读xml的方法读取配置文件,但是貌似不能使用ConfigurationSettings.AppSettings(""))
比如说,在一个拥有web.config的ASP.NET应用程序项目中,包含一个用C#写成的拥有app.config的class类库,那么当这个项目运行的时候,和它关联的配置文件应该是web.config,而不是app.config,因为它是一个ASP.NET应用程序。 参考技术A 是一样的东西,只是应用场景不一样,
WEB.config是WEB应用下使用。
App.Config是WINDOWS 这种程序开发时使用的(winform ,console,WPF等类型)。但编译后是你最终exe全名如 a.exe.config
二者里面的写法是一样的。 参考技术B 前者是网站全局配置,后者是某个应用程序的配置。
App.Config 和 Web.Config 的区别?
【中文标题】App.Config 和 Web.Config 的区别?【英文标题】:Differences between App.Config and Web.Config? 【发布时间】:2010-11-27 14:33:43 【问题描述】:在 wpf 中构建桌面应用程序时,您能否阅读问题文档并在人们的答案提到“web.config”时安全地替换“app.config”?
如果有,有什么明显的 GOTCHAS 需要注意吗?
tnx
【问题讨论】:
***.com/a/52252862/1767482的可能重复 【参考方案1】:阅读Documentation:
Web.config 和 App.config
的选择 配置文件名由你的宿主环境决定 选择服务。如果您使用 IIS 来托管您的服务,请使用 Web.config 文件。如果您使用任何其他托管环境,请使用 App.config 文件。
在 Visual Studio 中,名为 App.config 的文件用于创建 最终配置文件。实际使用的最终名称 配置取决于程序集名称。例如,一个程序集 名为“Cohowinery.exe”的最终配置文件名为 “Cohowinery.exe.config”。但是,您只需要修改 App.config 文件。对该文件所做的更改会自动 编译时的最终应用程序配置文件。
在使用 App.config 时,配置系统将文件合并 App.config 文件中包含 Machine.config 文件的内容,当 应用程序启动并应用配置。这种机制 允许在 Machine.config 文件中定义机器范围的设置。 App.config 文件可用于覆盖 Machine.config 文件;您还可以锁定设置 Machine.config 文件,以便他们使用。在 Web.config 案例中, 配置系统合并所有目录下的Web.config文件 将应用程序目录引导到配置中 被应用。
【讨论】:
【参考方案2】:Web.Config
用于 asp.net 网络项目/网络服务。
App.Config
用于 Windows 窗体、Windows 服务、控制台应用程序和 WPF 应用程序
您的问题并未提供所有信息,说明您可能遇到的问题。
您能否就这些配置文件方面的尝试提供更多信息?
【讨论】:
这并不完全正确。我创建了一个 WCF 服务库项目,它使用 app.config 而不是 web.config。我知道差异在于 app.config 非最终状态,而不是 web.config 最终状态。【参考方案3】:这是一个链接...
Problems with Web.config and App.config
【讨论】:
以上是关于Web.config 和 App.config 的区别分析的主要内容,如果未能解决你的问题,请参考以下文章
WCF 何时使用 app.config 或 web.config?