C# 从Net Core web应用程序锁定界面创建Azure资源

C# 从Net Core web应用程序锁定界面创建Azure资源,c#,azure,asp.net-core-mvc,azure-functions,azureservicebus,C#,Azure,Asp.net Core Mvc,Azure Functions,Azureservicebus,简言之,创建以编程方式定义的Azure资源VM、资源组等的最佳方法是什么,而不必因为某些操作需要很长时间而锁定web应用程序的界面 更详细的信息: 我有一个Net Core web应用程序,可以手动添加客户。一旦添加,它会自动为Azure创建一些资源。但是,我注意到,在这些操作期间,我的接口被“锁定”。从web应用程序中分离这些操作的相对简单的方法是什么?我考虑过使用服务总线或Azure中继发送触发器并触发Azure函数。然而,在我看来,所有这些资源都返回了一些东西,而我的web应用程序正在等待

简言之,创建以编程方式定义的Azure资源VM、资源组等的最佳方法是什么,而不必因为某些操作需要很长时间而锁定web应用程序的界面

更详细的信息: 我有一个Net Core web应用程序,可以手动添加客户。一旦添加,它会自动为Azure创建一些资源。但是,我注意到,在这些操作期间,我的接口被“锁定”。从web应用程序中分离这些操作的相对简单的方法是什么?我考虑过使用服务总线或Azure中继发送触发器并触发Azure函数。然而,在我看来,所有这些资源都返回了一些东西,而我的web应用程序正在等待。我需要一个“发送并忘记方法”。只需发送触发器来创建这些资源,暂时不必担心返回值,然后继续应用程序

如果“发送并返回”方法也适用于我的web应用程序,也可以


欢迎提出任何建议

您需要将工作排队以运行后台,然后立即返回操作。最简单的方法是创建托管服务。有两种不同的方法可以做到这一点:

使用一个队列,并实际将要在操作中完成的工作排队。 只需将所需信息写入数据库表、redis存储等,并使用a按计划执行工作。 在这两种情况下,您也可以考虑将此拆分为一个基本上是由托管服务组成的单独应用程序,而不是在与Web应用程序相同的实例中运行该应用程序。这允许您独立地扩展服务,并将web应用程序与服务可能遇到的问题隔离开来

一旦您设置了服务并安排了工作,您只需要某种方式让用户知道工作何时完成。一种典型的方法是使用signar允许服务器向客户机通知进度更新或成功通知。然而,你也可以做一些简单的事情,比如在一切准备就绪时给用户发电子邮件