-1

サービスが実行されたら変更できる値を読み取るために、サービスで XML を使用する必要があります。現在の XML 設定に問題がある人に関するソースしか見つけることができず、初心者に関しては文字通り何もありません。

Windows サービスの設計に関して XML の使用を開始する方法を簡単に説明したり、初心者が理解できる優れたソースの方向性を教えてくれませんか?

ありがとう

4

2 に答える 2

0

必要に応じて、XML シリアル化を使用できます。これは、出力ディレクトリに Demo.xml というファイルがあることを前提としています。

string filePath = ".\\Demo.xml";
private void Form1_Load(object sender, EventArgs e)
{
    ReadSettings();
}

void ReadSettings()
{
    XmlSerializer s = new XmlSerializer(typeof(Settings));
    Settings newSettings = null;
    using (StreamReader sr = new StreamReader(filePath))
    {
        try
        {
            newSettings = (Settings)s.Deserialize(sr);
        }
        catch (Exception ex)
        {
            Debug.WriteLine("Error:" + ex.ToString());
        }
    }
    if (newSettings != null)
        this.Text = newSettings.WatchPath;

}

public class Settings
{
    public string WatchPath { get; set; }
}

XML 形式:

<?xml version="1.0" encoding="utf-8" ?>
<Settings>
  <WatchPath>C:\Temp</WatchPath>
</Settings>
于 2013-03-19T17:57:33.473 に答える
0

Xml は、Windows サービスとは何の関係もありません。

C# で使用する方法はいくつかありますが、単純なものは XmlDocument クラスです。

例えば

XmlDocument configDoc = new XmlDocument();
configDoc.Load("ServiceConfig.xml");
XmlNode pollingNode = configDoc.DocumentElement.SelectSingleNode("PollingInterval");
if (pollingNode != null)
{
/// Grab pollingNode.InnerText, convert to an int and set Property...
}

上記はxmlが

<Config>
<PollingInterval>30</PollingInterval>
</Config>

これに関するあなたの大きな問題は、ファイルをどこに置くか、ファイルが破損したり、中途半端にロックアウトされたり、削除されたりすることに対処することです...

このアイデアに頭を悩ませる前に、私は考えたいと思います。

于 2013-03-19T17:44:00.993 に答える