【发布时间】:2014-10-15 15:58:12
【问题描述】:
我已经在 ASP.NET 中使用 MVC 4 创建了这个邮件发送表单。现在我想在我的 Web.config 中放置(使用)smpt、用户名、密码和端口号的参数。我已经尝试过这个解决方案:
在 Web.config 中:
<add key="smptserver" value="smptABC" />
<add key="username" value="usernameABC" />
<add key="password" value="passwordABC"/>
<add key="portNum" value="123"/>
在我的 Controller.cs 中有这个:
using System.Configuration;
...
string host = ConfigurationManager.AppSettings["smptserver"];
string user = ConfigurationManager.AppSettings["username"];
string pass = ConfigurationManager.AppSettings["password"];
string port = ConfigurationManager.AppSettings["portNum"];
using (var client = new SmtpClient
{
Host = host,
Port = port,
EnableSsl = true,
Credentials = new NetworkCredential(user, pass),
DeliveryMethod = SmtpDeliveryMethod.Network
})
{ ...
我也找到了这个解决方案(都一样,但只有这个有所改变):
string host = ConfigurationSettings.AppSettings["smptserver"];
string user = ConfigurationSettings.AppSettings["username"];
string pass = ConfigurationSettings.AppSettings["password"];
string port = ConfigurationSettings.AppSettings["portNum"];
[other is same]
“ConfigurationManager”和“ConfigurationSettings”有什么区别? 这是用 Web.config 设置参数的正确方法吗?
感谢您的解释。
【问题讨论】:
-
不推荐使用第二个解决方案,使用第一个。这只是检索数据的问题,而不是设置数据。
-
您不应该将密码放入您的 web.config 文件中。请参阅asp.net/identity/overview/features-api/… 了解如何将它们移出。
-
tnx 回答 :) @RickAnd - MSFT
标签: asp.net-mvc asp.net-mvc-4 web-config