gpt4 book ai didi

c# - 有没有办法先重定向页面然后执行剩余的代码

转载 作者:太空宇宙 更新时间:2023-11-03 14:56:51 25 4
gpt4 key购买 nike

我是 azure web 应用程序的新手,有什么方法可以先重定向页面然后执行其余代码?我陷入了必须先重定向页面,然后执行剩余代码的情况...实际上,我已经在 azure web 应用程序上部署了我的代码,该应用程序的请求超时时间约为 4 分钟(不可配置),我的代码采用执行大约 15 分钟,我想重定向到主页并在后台执行其余代码。我尝试过线程和并行编程也仍然没有运气。我无法克服我的网页每次都请求超时的时间范围。有没有人可以建议的方法?

感谢您的帮助!

/*functionA and functionB are not execute after redirecting.*/
private static async Task <int> functionA(para1, para2)
{
Task<int> temp1 = await functionB(y,z);
return int;
}

private static async Task<int> functionB(para1, para2)
{
return int;
}
/* This method will execute first */
private string functionC(para1, para2, para3)
{
console.log("hello world");
redirect.response("www.xyz.com");
Task<int> temp = await functionA(x,y);

return str; //return string type value
}

最佳答案

如果您的处理量很大,会导致 HTTP 超时,我建议考虑将处理卸载到 WebJob 或 Azure Function。其工作原理如下:

  1. 您的 Azure WebApp 收到长时间运行操作的 HTTP 请求。它收集必要的信息,创建服务总线队列消息,然后触发该消息。然后,您的 WebApp 会响应用户,告诉他们处理已经开始。

  2. 配置一个单独的 WebJob 或 Azure 函数来监视服务总线队列的消息。当收到消息时,WebJob/Function 可以执行处理。

  3. 您可能想告诉用户操作何时完成以及结果是什么。你有几个选择。最灵活的方法是使用 SignalR 向用户推送操作已完成的通知。不太复杂的方法是让您的 WebJob/Function 更新数据库记录,然后让您的 HTTP 客户端轮询结果。

我个人在服务总线队列/WebJobs/SignalR 中使用了这种模式,并且对结果非常满意。

关于c# - 有没有办法先重定向页面然后执行剩余的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48643658/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com