<appSettings>
<add key="ApiKey" value="xyz"/>
</appSettings>
<system.net>
<mailSettings>
<smtp deliveryMethod="Network">
<network host="smtp.cloudmailapp.com" port="587" userName="user@gmail.com" password="xyz" />
</smtp>
</mailSettings>
</system.net>
如您所见,API密钥&#34; xyz&#34;出现两次,硬编码。
我可以在这里使用代码吗?我希望能够致电
WebConfigurationManager.AppSettings["ApiKey"]
在Web.config文件中,或类似的东西。
答案 0 :(得分:1)
我认为对你的问题的简短回答是否定的。配置文件不能包含C#代码,就像您尝试开箱即用一样。
我找到了另一篇帖子,提出了一个与此非常相似的问题。它来自几年前,但它有很多反馈,看起来可能适用于此。我只想添加一个链接,而不是总结最佳答案。 Variables within app.config/web.config
答案 1 :(得分:1)
我不确定您的工作流程是什么将变量添加到配置文件中,但也许作为其中的一部分,您可以在web.config的顶部运行某些内容,以确保您不会重复。
虽然在web.config中放置配置值很方便,但它实际上并不是存储应用程序设置的地方。这有很多原因:
将它们放入数据库并从那里检索它们要好得多。处理数据库后,您可以设置索引,以便不允许重复等等。