2011-12-29 73 views
0

我想知道是否有任何方法来嵌入电子邮件设置 Windows应用程序,然后存储在app.confg文件中。 设置将是静态的,因此用户不必在运行时更改它 时间。据我所知,我们可以将它保存在资源文件中,字符串为 ,但我如何访问我的代码中的设置?在windows应用程序中嵌入电子邮件设置

代码:

string st = Properties.Resources.cubemail; 
//SmtpSection smtpSection = ConfigurationManager.GetSection(st) as SmtpSection; 
MailSettingsSectionGroup mMailSettings = 
    ConfigurationManager.GetSection(st) as MailSettingsSectionGroup; 

mail.From = new MailAddress(mMailSettings.Smtp.From); 

smtp.Host = mMailSettings.Smtp.Network.Host; 
smtp.Port = mMailSettings.Smtp.Network.Port; 
smtp.UseDefaultCredentials = mMailSettings.Smtp.Network.DefaultCredentials; 
smtp.Credentials = new System.Net.NetworkCredential(
    mMailSettings.Smtp.Network.UserName, 
    mMailSettings.Smtp.Network.Password); 

回答

1

添加XML文件在您的项目和标记文件作为嵌入的资源,你可以把所有设置有

+0

但它是可见的,当它会包分配? – Aaraadhana 2011-12-29 05:41:31

+0

nope,它将不可见 – 2011-12-29 05:44:23

+0

感谢您的帮助 – Aaraadhana 2011-12-29 05:46:09

1

使用XML文件来存储电子邮件的设置,你可以打开/使用文本编辑器更新记事本中的XML文档,或使用Linq To XML进行读取或更新。

编辑:

如果你已经标记的XML文档嵌入的资源,那么你可以通过Assembly.GetManifestResourceStream()方法来读取它。

我认为xml文档的名称是Test.xml,并且在根目录下创建,其名称空间为WindowApp

的test.xml

<?xml version="1.0" encoding="utf-8" ?> 
<MySettings> 
    <host>something.com</host> 
</MySettings> 

要阅读资源,

Assembly assembly = Assembly.GetExecutingAssembly(); 
XDocument doc= XDocument.Load(assembly.GetManifestResourceStream("WindowApp.Test.xml")); 
string host=doc.Root.Element("host").Value; 
+0

,但它会在包中分发时显示吗? – Aaraadhana 2011-12-29 05:41:41

+0

我不希望它是可见的 – Aaraadhana 2011-12-29 05:46:30

+0

感谢您的帮助 – Aaraadhana 2011-12-29 05:50:48

相关问题