我的web应用程序调用外部dll。在dll中,我想访问system.net/ pickupDirectoryLocation /smtp部分中的邮件设置值。如何从dll代码中获取它?
就像这样
System.Configuration.ConfigurationSettings.GetConfig("configuration/system.net/mailSettings/smtp/specifiedPickupDirectory/pickupDirectoryLocation")但这并不管用
发布于 2010-07-16 22:36:12
您可以使用:
public string GetPickupDirectory()
{
var config = ConfigurationManager.GetSection("system.net/mailSettings/smtp") as SmtpSection;
return (config != null) ? config.SpecifiedPickupDirectory : null;
}发布于 2010-07-16 22:40:45
我想您可以简单地使用PickupDirectoryLocation属性。
// if .NET 4.0 don't forget that SmtpClient is IDisposable
SmtpClient client = new SmtpClient();
string pickupLocation = client.PickupDirectoryLocation;这样,您就不需要在代码中使用魔术字符串,而且在框架的未来版本中,如果该属性更改了配置文件中的名称或位置,则无需担心这些问题。
发布于 2010-07-16 22:41:24
使用以下命令:
using System.Configuration;
using System.Web.Configuration;
using System.Net.Configuration;然后:
Configuration config = WebConfigurationManager.OpenWebConfiguration(HttpContext.Current.Request.ApplicationPath);
MailSettingsSectionGroup settings = (MailSettingsSectionGroup)config.GetSectionGroup("system.net/mailSettings");然后你就可以访问
//settings.Smtp.SpecifiedPickupDirectory;当然,这也应该在System.Net.Mail.SmtpClient.PickupDirectoryLocation属性中找到
https://stackoverflow.com/questions/3265888
复制相似问题