我有一个作为 Azure Web 角色托管的 ASP.NET MVC 4 应用程序。我想做一些看起来应该很标准的事情:我想创建一个我可以调用的函数,它启动 VIP 交换并在 VIP 交换操作完成时引发和事件(或调用回调)。
只是为这种情况添加一些背景信息:我的网站实施了一个大约需要一个小时(或更短时间)才能完成的工作流程。如果我要发布一个新版本的网站代码,可以先让所有当前用户完成工作流程,这样新代码就不需要处理由以前版本的代码创建的数据。因此,我网站中的管理功能首先会在数据库中插入一个值,以禁用新的工作流程;然后它会等到所有当前的工作流程都完成;然后它会调用“VIP交换”例程;最后,当 VIP 交换例程发出完成信号时,它将戳数据库值以重新启用新的工作流程。
我在这里找到了有关如何以编程方式启动 VIP 交换的 Microsoft 文档:http: //msdn.microsoft.com/en-us/library/ee460814.aspx
该过程涉及到 POST 到魔术 URL 并在 POST 中包含一些标头,然后定期执行对魔术 URL 的 GET 并检查响应代码。
我想得越多,它似乎就越不平凡。除了连接后台计时器和完成通知的基本复杂性之外,我不知道如果有的话,我可能会在 IIS 环境中尝试做这些事情。我什至可以在后台线程上执行 HTTP 操作吗?就此而言,我是否会因为尝试使用 .NET 中包含的六种左右不同的“在后台做事”机制中的任何一种而遇到麻烦?
任何帮助或指导将不胜感激。特别是,如果有人能指出这个功能的现成实现,我会欣喜若狂!