在MVC中将参数放入web.config的正确方法是什么 - ASP.NET

时间:2014-10-13 12:03:09

标签: asp.net-mvc asp.net-mvc-4 web-config

我在ASP.NET中使用MVC 4创建了这个邮件发送表单。现在我想在我的Web.config中输入(使用)smpt,username,password和port number的参数。我试过这个解决方案:

在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设置参数的正确方法吗?

感谢您的解释。

1 个答案:

答案 0 :(得分:1)

根据the documentationConfigurationSettings公开了不推荐使用(标记为“过时”)的功能。 (您的代码在编译时生成警告消息以指示此情况。如果不是,请重新打开警告。)

ConfigurationManager是首选。