gpt4 book ai didi

c# - 仅在本地主机上执行代码(开发时)

转载 作者:太空宇宙 更新时间:2023-11-03 18:34:52 25 4
gpt4 key购买 nike

我做的是 MVC 应用程序,只有几行代码我只想在开发时执行,而另一部分代码是在部署应用程序时执行的。例如,我有将邮件发送到某个地址的 Controller 操作,但我希望在部署和测试时该地址不同。

很难总是改变它,而且我经常忘记这样做。

最佳答案

Visual Studio 提供了多种方法来执行此操作,您要使用哪种方法取决于您到底想做什么。

例如,您可以使用构建目标来指定您想要的构建类型,Release 和 Debug 很常见,但您也可以创建其他类型。然后,您可以在代码中添加 #if 预处理器语句,以根据选择的构建执行操作。

另一种方法,听起来像您想要的,是在您的应用程序或 web.config 中使用应用程序设置。然后使用构建转换根据构建类型转换您的配置(例如,您将看到 Web.Debug.config 或 Web.Release.config。当您发布站点时,Visual Studio 会自动将这些转换应用于您的配置文件并将应用程序设置更改为您想要的构建类型。

因此,使用您的示例,您将在 Web.config 中包含:

<appSettings>
<add key="notifyAddress" value="debug@foo.com" />
</appSettings>

然后,在您的 Web.Release.config 中您有这个转换:

<appSettings>
<add key="notifyAddress" value="release@foo.com"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</appSettings>

在你的代码中你有:

string emailAddress = ConfigurationManager.AppSettings["notifyAddress"];

现在,当您发布网站时,emailAddress 将自动具有 release@foo.com。

关于c# - 仅在本地主机上执行代码(开发时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16881210/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com