Windows服务配置文件

时间:2014-03-26 00:22:46

标签: c# windows-services

我目前正在使用配置文件(servicename.exe.config)开发基本的Windows服务,该文件是您在Visual Studio项目属性中访问的默认配置文件。此服务安装并正确运行,但我无法找到已安装服务的配置文件。

读/写代码段:

/// <summary>
/// An idle period between sending warning emails to avoid spamming
/// </summary>
public static short WarningEmailIdleMin
{
    get
    {
        return Properties.Settings.Default.WarningEmailIdleMin;
    }
    set
    {
        Properties.Settings.Default.WarningEmailIdleMin = value;
        Properties.Settings.Default.Save();
    }
}

项目设置图片: Project settings image

  • 该服务在本地系统帐户下运行
  • 停止服务时,更改servicename.exe.config(可执行文件旁边)中的设置并启动服务不会更改设置(证明其未从此配置文件中提取设置)
  • 当更改服务代码中的设置,停止并启动服务时,该设置具有上一次运行的更新值(证明它正在某处保存)
  • AppDomain.CurrentDomain.SetupInformation.ConfigurationFile指向上面的配置文件

我查看了AppDatadefault个用户帐户中public的子目录,我也查看了C:\Windows\system32\config\systemprofile\AppData\

任何帮助将不胜感激:)

编辑:添加了保存/读取的代码片段

2 个答案:

答案 0 :(得分:3)

您正在使用用户设置。这些设置不会存储在可执行文件旁边的servicename.exe.config中。我在MSDN找到了this article。它描述了存储user.config的位置以及如何获取该配置的文件路径。

就我个人而言,我不认为使用用户设置是Windows服务的一个不错的选择,默认情况下,该服务在本地系统帐户下运行(如果设置不同)。我建议使用本地文件数据库(即sqlite或Sqlserver CE等)进行这些设置。

答案 1 :(得分:-2)

安装后应该有一个web.config文件,如果你在系统上正确安装它 安装的服务不应该在C:\ Windows \ system32 ....它应该在C:\ inetpub \ wwwroot