.NET提供了一种在应用程序配置文件中定义SMTP配置的漂亮,优雅的方法:
<system.net>
<mailSettings>
<smtp deliveryMethod="Network" from="somewhere@example.com">
<network host="mySmtpServer" ...more authentication data... />
</smtp>
</mailSettings>
</system.net>
SmtpClient会自动使用此配置,如果我需要,我甚至可以access these setting programmatically:
var mailSettings = (MailSettingsSectionGroup)myAppConfig.GetSectionGroup("system.net/mailSettings");
// now I can access mailSettings.Smtp.Network.Host, etc.
现在到了完全不同的地方:
碰巧我有一个外部 XML配置文件(不是 app.config或web.config),我需要在那里存储SMTP配置数据,所以我我以为我只使用.NET使用的相同格式。毕竟,一些非常聪明的人会对此深思熟虑,为什么要重新发明轮子?
现在,最后(感谢您的耐心等待),我们回答了问题:
我可以重用MailSettingsSectionGroup解析器吗?
我希望有一些公共MailSettingsSectionGroup.Parse(myXElement)
方法或一些new MailSettingsSectionGroup(myXElement)
构造函数,但我找不到一个。解析器是公开可用的还是隐藏在一些我无法重用的内部System.Configuration
类中?