0

场景

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

我的实施

我编写了一个应用程序来根据配置集读取这些不同的文件,如下所示:

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 服务来运行这个应用程序吗?
  • 我设置为属性的设置应该作为用户可以访问的设置存在,怎么办?
  • 最重要的是,考虑到阅读时间可能会干扰(在这种情况下会发生什么?),我不知道是否应该为每个服务器使用单独的服务。我还是更喜欢单一服务。
4

1 回答 1

1

我不会为此类问题创建 Windows 服务。

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

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

于 2012-06-12T08:02:44.317 回答