我的app.config文件在哪里?

时间:2015-02-26 12:15:05

标签: asp.net asp.net-mvc

我已经构建了一个包含3个项目的服务器api: Api(一个api项目)调用调用Dal(类库)的BL(类库)。 非常标准。 它在当地完美运作。 现在当我发布它时,BL的app.config消失了。 为什么?我在哪里可以存储我的可配置参数? 非常感谢你。塔尔

2 个答案:

答案 0 :(得分:1)

在您的主项目ASP.NET上,使用Web.Config代替App.Config使其正常工作。

答案 1 :(得分:0)

app.config只是开发过程中的名称,一旦项目构建完成,app.config就会被复制到.config中,这就是运行时应用程序使用的内容

asp.net应用程序从web.config读取配置,因此如果您有app.config,则表示您的项目不是Web项目,而是标准库或可执行文件。

如果它是一个库(.dll),那么你应该将你的配置放在web.config中(如果这个库是由asp.net使用的),或者在.config中放置它是标准的可执行文件。

理想情况下,您的库不应该读取设置,因为这会在库和配置文件之间创建隐藏的耦合,并且最好将这些配置参数提供给外部库中需要它们的类,然后使应用程序使用图书馆可以将它们存放在最合适的地方。

您图书馆的消费者如何知道他们需要将SettingX添加到其配置文件的appsettings中?最好让库直接需要设置值。因此,如果您的DAL需要连接字符串,那么想要连接字符串的类应该在其构造函数中请求它。然后使用它的应用程序可以从设置(或者任何时候)获取它并将其传递给库。消费者可以看到对连接字符串的依赖性。如果库从配置中读取它,则消费者无法知道这是他们需要添加到设置

的内容

因此,在Web应用程序中,启动程序将从web.config中读取设置并将它们传递给您的库,但是使用相同库的其他应用程序可以将它们存储在数据库中(如果需要)。