2011-12-29 75 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

相關問題