一个带有命令行参数的可执行文件还是只是许多附属可执行文件?
我设计一个应用程序后端。目前,它是一个 .NET 进程(控制台应用程序),托管各种通信框架,例如 Agatha 和 NServiceBus。
我需要定期使用值(来自应用程序运行时的值)更新我的数据存储。
我发现了三种可能的方法:
- 接受命令行参数,这样我就可以使用 -update 调用我的控制台应用程序。
- 启动时,后台线程将定期调用更新方法。
- 创建一个 updater.exe 应用程序来执行更新,但我会有代码重复,因为在某种程度上它需要从源查询数据才能将其保存到数据存储区。
哪一个更好?
I design an application back-end. For now, it is a .NET process (a Console Application) which hosts various communication frameworks such as Agatha and NServiceBus.
I need to periodically update my datastore with values (coming from the application while it's running).
I found three possible ways:
- Accept command line arguments, so I can call my console app with -update.
- On start up a background thread will periodically invoke the update method.
- Create an updater.exe app which will do the updates, but I will have code duplication since in some way it will need to query the data from the source in order to save it to the datastore.
Which one is better?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用最简单、有效的方法。根据您提供的信息,听起来选项 1 是可行的方法。
选项2有线程,线程总是使程序复杂化,更难以调试和编写,出现错误的可能性更大。
选项 3 意味着您有两个应用程序,如果您进行更改,则必须部署两个应用程序的新版本,从而增加维护成本。
Use the simplest thing that will work. Sounds like option 1 is the way to go based on the info you have given.
Option 2 has threads, threads always complicate programs, more difficult to debug and write, greater chance of bugs.
Option 3, would mean that you have two apps, if you make a change you will have to deploy new versions of both, increasing maintenance costs.