c# - 有没有其他方法可以在没有 VM 的情况下在 Azure 上运行窗口服务?

标签 c# asp.net asp.net-mvc azure amazon-ec2

我们开发了一个窗口服务,用于处理 Azure 队列并添加/更新/删除数据库记录[仅与数据库相关的实现]。

当前实现[运行良好,没有问题]:

创建了一个窗口服务 部署在 Azure VM 上

我们正在努力寻找更好的替代方案,帮助将我们的业务实现[目前封装为 Window Service] 部署到 Azure 网站和/或 Azure 云服务中。

一种可能的替代方案:

  1. 创建 ASP.NET Mvc 网站
  2. 创建 3 个操作

    a.开始[启动静态计时器]

    b.停止[停止静态计时器]

    c.执行[在定时器超时时通过WebRequest调用]

  3. 在 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/

相关文章:

c# - 如何从字典中获取所有键的字符串数组并以相同的方式修改每个字符串

c# - DateTime.ParseExact 的格式字符串 - 什么小时格式适用于 "tt"?

c# - 排序时ASP.net gridview数据源为空

asp.net - RESTful POST 重试响应

asp.net-mvc - 将 Visual Studio Code 与非核心 Asp.Net MVC 结合使用

c# - 是否有用于显示 HTML 的 .Net WinForm 应用程序的控件

c# - 从 C++ Win32 调试托管组件

asp.net - Http错误503的自定义错误页面

c# - mvc中的无限多级菜单

整个页面上的 jQuery 验证