我们开发了一个窗口服务,用于处理 Azure 队列并添加/更新/删除数据库记录[仅与数据库相关的实现]。
当前实现[运行良好,没有问题]:
创建了一个窗口服务 部署在 Azure VM 上
我们正在努力寻找更好的替代方案,帮助将我们的业务实现[目前封装为 Window Service] 部署到 Azure 网站和/或 Azure 云服务中。
一种可能的替代方案:
- 创建 ASP.NET Mvc 网站
创建 3 个操作
a.开始[启动静态计时器]
b.停止[停止静态计时器]
c.执行[在定时器超时时通过WebRequest调用]
在 Azure 网站上部署该网站。
1) 您是否曾经在云 [Azure/Amazon 或其他] 上实现过上述替代方案?
2)如果是,想了解面临的问题及其解决方法/解决方案。
3)有更好的选择吗?
4) Window Service 是当前场景下的最佳解决方案吗?
最佳答案
那么 NT 服务有什么作用呢?它在系统启动时启动,并运行某种无限循环来“监听”某些内容或处理它知道从哪里获取的某些内容。
辅助角色(还有 Web 角色 - 这些实际上是 IIS 的辅助角色)执行相同的操作 - Azure 基础架构启动它们(如果失败则重新启动),然后 RoleEntryPoint.OnStart()
是调用进行初始化,然后调用 RoleEntryPoint.Run()
,后者应该永远休眠或运行无限循环。基本上它与 NT 服务相同,不同之处在于 NT 服务绑定(bind)到特定计算机,而工作人员/Web 角色绑定(bind)到“部署”——要执行的代码和该代码的设置的组合。
关于c# - 有没有其他方法可以在没有 VM 的情况下在 Azure 上运行窗口服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20534167/