在 Windows 服务和 Azure WebJob 之间利用单一代码库的方法

Ways to leverage single code base between Windows Service and Azure WebJob

我正在研究一个定时重复过程,在某些情况下将部署在 OnPrem 上,而在其他情况下将部署在云 (Azure) 中。我正在研究 Windows 服务和 Azure WebJob。鉴于我只需要将重复过程作为定时片段,我正在考虑将大部分逻辑放在库中,只是入口点在本地部署的 Windows 服务或 WebJob 之间有所不同部署到 Azure 时。每个 csproj(服务和 WebJob)将只处理定时循环和配置设置,然后调用库来完成大部分工作。

我的问题是:是否有另一种设计组合可以更好地满足这些要求?我读过有关在 WebJob 中包装现有 windows 服务的内容,但我认为在这种情况下没有必要,因为我是从头开始的。

要使您的公共代码保持最新,并了解哪些应用程序使用哪些版本,最好的解决方案是创建一个 class 具有受人尊敬的设计模式的库项目并将其转换为 nuget项目。

您知道您可以托管自己的私有 NuGet 存储库,创建自己的包,并在您自己的网络内部托管它们。

"How to create Nuget package out of your class library project" 这是一篇非常好的文章。您可以利用它并在您的所有代码中共享它。

最后,您可以从 windows service/WebJob 中调用它了。

如果您需要任何与设计解决方案相关的帮助,请告诉我。

希望对您有所帮助。