【问题标题】:Windows Service with Service Layer带有服务层的 Windows 服务
【发布时间】:2013-08-29 18:52:51
【问题描述】:

请提供以下建议:

上下文:

我有一个 Windows 服务,有一个服务和数据层。现在我的服务需要监视一个文件夹中的文件,然后如果有匹配特定正则表达式的文件,它应该将文件加载到数据库中并将文件移动到“完成”文件夹。

问题:

哪些代码应该进入 Windows 服务...以及哪些代码应该进入服务层。我最初的想法是在服务层中完成所有文件的加载,同时将所有文件监视和文件移动功能放在 Windows 服务中。

请指教。 . .任何帮助将不胜感激。

谢谢!

【问题讨论】:

    标签: c# design-patterns architecture windows-services business-logic


    【解决方案1】:

    这是我的建议:

    服务层:

    • 查看文件

    • 读取文件内容

    • 向数据层提交数据

    • 将文件移动到完整文件夹

    数据层:

    • 验证数据

    • 存储数据

    这是最简单的情况(记住 KISS)。

    如果您需要在其他地方处理文件的逻辑,您可以添加第三个域服务层。

    服务层:

    • 查看文件

    • 调用域服务层

    领域服务层:

    • 读取文件内容

    • 向数据层提交数据

    • 将文件移动到完整文件夹

    数据层:

    • 验证数据

    • 存储数据

    【讨论】:

    • 感谢您的建议。那么这是否意味着 Windows 服务本身应该只将请求传递给服务层而不自己进行任何处理?目前,Windows 服务正在监视文件并进行文件移动。
    • Windows 服务应该监视文件并将文件名传递给域服务层。领域服务层完成其余的工作(读取内容、向数据层提交数据和移动文件)。如果你使用这种方法,windows 服务会非常瘦,你可以在其他地方重用处理逻辑(例如客户端、WebService 等)
    • 有道理。谢谢!
    猜你喜欢
    • 2011-05-29
    • 2014-02-05
    • 2016-01-09
    • 1970-01-01
    • 1970-01-01
    • 2012-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多