mw.*_*mw. 3 c# app-config mailsettings
您好,我们有一个业务逻辑层,它有一个电子邮件服务类.在这个类中,我们有一个方法可以创建一个电子邮件(这部分工作和编译很好).但是,当我们尝试访问应用程序配置文件以便测试该方法时,我们会收到错误消息 - 无法检索应用程序配置邮件设置,并且如果不是,则表示所有值都为空.以下是我们代码的应用配置部分:
<mailSettings>
<smtp deliveryMethod="Network" from="info@example.com">
<network host="localhost" port="25" defaultCredentials="true"/>
</smtp>
</mailSettings>
Run Code Online (Sandbox Code Playgroud)
这里有我们用来连接app.config的代码:
private System.Net.Configuration.MailSettingsSectionGroup mailSettings;
SmtpClient client = new SmtpClient(mailSettings.Smtp.Network.Host, mailSettings.Smtp.Network.Port);
Run Code Online (Sandbox Code Playgroud)
我们在这做错了什么?
您的mailSettings变量未初始化为任何内容 - 它不会神奇地包含您的配置.
您需要使用ConfigurationManager该类来访问它(请记住添加引用(System.Configuration如果尚未添加).您还需要添加using 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);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5849 次 |
| 最近记录: |