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

+0

Нет, не видно –

+0

Спасибо за помощь – Aaraadhana

1

Использование XML документ для хранения электронной почты-настройки, где вы можете открыть/обновить XML-документ в блокноте, например текстовый редактор, или прочитать или обновить с помощью Linq To XML.

EDIT:

Если у Вас есть метка документа XML в качестве встроенного ресурса, то вы можете прочитать его через Assembly.GetManifestResourceStream() метод.

Я предполагаю, что имя документа xml равно Test.xml и создано под root с пространством имен 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

+0

Я не хочу, чтобы это было видно – Aaraadhana

+0

Спасибо за помощь – Aaraadhana

Смежные вопросы