可重用的Windows服务项目

发布于 2024-12-28 16:52:08 字数 530 浏览 3 评论 0原文

我已经制作了一个带有计时器的 Windows 服务(我已经看到了关于计时器驱动的 Windows 服务与 Windows 任务调度程序的讨论,并且仍然想使用我自己的 Windows 服务)来运行一些业务逻辑。 分离我的关注点并使其易于测试和使用手动运行,我的所有业务逻辑都在一个单独的项目中,我也在 Windows 窗体测试器 GUI 中引用该项目。 现在我想在另一个运行其他业务逻辑的解决方案中创建另一个计时器驱动的 Windows 服务,所以我想我不想最终为我的 Windows 服务和计时器提供多个代码库,所以我将重用它们从这个解决方案开始,去编写我的其他业务逻辑项目。

这是如何运作的?我最终会在两个解决方案中为服务项目提供相同的 DLL 名称吗?如果它们在同一台服务器上运行,就会导致问题。这是一小段代码,我几乎觉得该服务不值得作为自己的项目,或者不值得重用,但我也讨厌不重用它的想法。

另外,我不喜欢仅重用一两个 .cs 文件而不是整个项目的概念,不仅因为这看起来违背了 .Net 的意图,而且还因为我们的 Mercurial 源代码控制使这变得很麻烦。

解决这个问题的正确方法是什么?

I've made a windows service with a timer (I've seen discussions about timer-driven windows services vs windows task scheduler, and still want to go with my own windows service) that runs some business logic.
To separate my concerns and make it easy to test & run manually, all my business logic is in a separate project that I also reference in a windows forms tester GUI.
Now I want to make another timer-driven windows service in another solution that runs some other business logic, so I'm thinking I don't want to end up with several codebases for my windows service and timer, so I'll reuse them from this solution, and go write my other business logic project.

How does this work? Am I going to end up with the same DLL name for the service project in both solutions? If they run on the same server, that will cause problems. It's such a small piece of code, I almost feel like the service isn't worthwhile as its own project, or isn't worthy of reuse, but I also hate the idea of not reusing it.

Also, I dislike the notion of reusing, say, just one or two .cs files and not the whole project, not only because that seems like it goes against the intentions of .Net, but also because our Mercurial source control makes that cumbersome.

What's the right way to approach this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文