Windows服务:使用不同的设置从不同的服务器读取

时间:2012-06-12 07:33:49

标签: c# .net windows-services

情景

  • 从不同服务器读取文件。每个服务器提供的文件具有不同的格式扩展名数据
  • 每个服务器的阅读过程周期性不同(每分钟,每小时,每周,每月)。
  • 应该有配置文件(或其他)来设置与“文件格式”,“文件扩展名”,“服务器凭据”相关的配置。

我的实施

我编写了一个应用程序来读取这些不同的文件,具体取决于配置如下:

interface IServer
{
    // Common implementation
}

[ServerPath("anyLocation")]
[FileDelimiter(",")]
[FileSearchPattern("*.txt")]
class Server2 : IServer
{
    // Specific implementation
}

[ServerPath("anyLocation")]
[FileDelimiter("|")]
[FileSearchPattern("*.csv")]
class Server1 : IServer
{
    // Specific implementation
}

问题

  • 我应该使用Windows服务来运行此应用程序吗?
  • 我设置为属性的设置应该作为用户可以访问的设置存在,怎么办?
  • 最重要的是,我不知道是否应该为每台服务器使用单独的服务,考虑到阅读时间可能会干扰(在这种情况下会发生什么?)。我仍然希望有一项服务。

1 个答案:

答案 0 :(得分:1)

我不会为这类问题创建一个Windows服务。

创建一个简单的控制台应用程序,它接受一个推荐行参数来指定所需的目标(服务器),并从一个简单的App.config中读取相应的配置,而不是将其硬编码到您的应用程序中。

使用计划任务运行您的控制台应用程序 - 这将为您提供精细的计划控制,内置监控和错误跟踪,无需任何其他代码。