Ste*_*vds 7 asp.net asp.net-mvc web-config
我有一个在2台服务器上运行的项目.1个testserver与testDB连接,1个在真实服务器上,与真正的DB连接.
这个项目的每个运行实例中唯一不同的是web.config.
我想做的是有可能在web.config中设置一个bool值,然后可以通过代码读取.如果应用程序处于测试模式,则此bool将为true.我会手动设置它,然后项目会把它读出来,当它确实是,应用程序发送的邮件,然后将保留在内部,所以人们实际上不会收到邮件.我之前设置了一个public static bool
in global.asax
但是在Asp.net MVC中,所有内容都内置在一个DLL中,所以在这种情况下我无法在部署的服务器上更改它.
这可能吗?还是会有一个很好的其他解决方案?
Dav*_*enn 19
正如其他人所说,这就是appSettings
你的web.config 的部分
<configuration>
<appSettings>
<add key="isInTestMode" value="true"/>
</appSettings>
...
</configuration>
Run Code Online (Sandbox Code Playgroud)
然后可以使用WebConfigurationManager访问它
bool isInTestMode = Boolean.Parse(WebConfigurationManager.AppSettings["isInTestMode"]);
Run Code Online (Sandbox Code Playgroud)
然而
如果您只对测试时不发送电子邮件感兴趣,那么您可以使用web.config配置.NET以将电子邮件转储到本地目录而不是将它们发送到邮件服务器
<system.net>
<mailSettings>
<smtp deliveryMethod="SpecifiedPickupDirectory">
<specifiedPickupDirectory pickupDirectoryLocation="C:\MailDump\" />
<network host="localhost"/>
</smtp>
</mailSettings>
...
</system.net>
Run Code Online (Sandbox Code Playgroud)
如果您的代码未覆盖默认邮件SMTP服务器设置,则此方法有效.
归档时间: |
|
查看次数: |
8796 次 |
最近记录: |