C#Windows Service保存设置的位置Properties.Setting

时间:2014-11-14 13:44:50

标签: c#

我正在开发一个Windows服务,它将一些数据提交给web api。作为其中的一部分,我需要提交一个我用

生成的GUID
Guid.NewGuid():

此GUID将是每台计算机的个人,永远不会更改,并且对于所有登录的用户都是相同的。我虽然在努力实际存储此位置。我遇到了看起来很完美的Properties.Setting,但如果我使用Application而不是User,它就不会让我设置属性,因为它是只读的。

我如何以及在何处存储GUID?它只会生成一次(当服务首次在PC上启动时)。

1 个答案:

答案 0 :(得分:6)

在您的情况下,您可以使用ConfigurationManager Class来访问和编写应用程序设置中的GUID。从上面的链接示例:

static void AddUpdateAppSettings(string key, string value)
{
    try
    {
        var configFile = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
        var settings = configFile.AppSettings.Settings;
        if (settings[key] == null)
        {
            settings.Add(key, value);
        }
        else
        {
            settings[key].Value = value;
        }
        configFile.Save(ConfigurationSaveMode.Modified);
        ConfigurationManager.RefreshSection(configFile.AppSettings.SectionInformation.Name);
    }
    catch (ConfigurationErrorsException)
    {
        Console.WriteLine("Error writing app settings");
    }
}

您可以像:

一样使用它
AddUpdateAppSettings("MachineGuid", Guid.NewGuid().ToString());