您好,我们有一个业务逻辑层,它有一个电子邮件服务类.在这个类中,我们有一个方法可以创建一个电子邮件(这部分工作和编译很好).但是,当我们尝试访问应用程序配置文件以便测试该方
<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); }