当前位置 : 主页 > 编程语言 > c语言 >

c# – 尝试访问App.config文件以获取邮件设置但无法正常工作

来源:互联网 收集:自由互联 发布时间:2021-06-25
您好,我们有一个业务逻辑层,它有一个电子邮件服务类.在这个类中,我们有一个方法可以创建一个电子邮件(这部分工作和编译很好).但是,当我们尝试访问应用程序配置文件以便测试该方
您好,我们有一个业务逻辑层,它有一个电子邮件服务类.在这个类中,我们有一个方法可以创建一个电子邮件(这部分工作和编译很好).但是,当我们尝试访问应用程序配置文件以便测试该方法时,我们会收到错误消息 – 无法检索应用程序配置邮件设置,并且如果不是,则表示所有值都为空.以下是我们代码的应用配置部分:

<mailSettings>
  <smtp deliveryMethod="Network" from="info@example.com">
    <network host="localhost" port="25" defaultCredentials="true"/>
  </smtp>
</mailSettings>

这里有我们用来连接app.config的代码:

private System.Net.Configuration.MailSettingsSectionGroup mailSettings;

SmtpClient client = new SmtpClient(mailSettings.Smtp.Network.Host, mailSettings.Smtp.Network.Port);

我们在这做错了什么?

您的mailSettings变量未初始化为任何内容 – 它不会神奇地包含您的配置.

您需要使用ConfigurationManager类来访问它(如果尚未添加,请记住添加对System.Configuration的引用.)您还需要使用System.Net.Configuration添加以下代码.

SmtpSection smtpSection = ConfigurationManager.GetSection("system.net/mailSettings/smtp") as SmtpSection;

if (smtpSection != null)
{
    SmtpClient client = new SmtpClient(smtpSection.Network.Host, smtpSection.Network.Port);
}
网友评论