问题标签 [fire-and-forget]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
163 浏览

c# - C# HttpWebRequest,触发并忘记 API 调用

在我的 WCF 服务中,我必须调用一个 API,我想在其中执行 Fire and Forget 实现。如果可能的话,只要捕获错误(如果有的话)。(这也很好,如果不是一个选项)

我计划进行以下实施,它可能导致什么问题?通过执行以下实现将留下大量打开的连接。或者可能是什么问题?请帮助理解如何以更好的方式实现这一点。

0 投票
1 回答
41 浏览

multithreading - 执行需要 5 秒的操作(如发送电子邮件)但立即返回并回复?

语境

在 ASP.NET Core 应用程序中,我想执行一个需要 5 秒的操作(比如发送电子邮件)。我确实知道 async/await 及其在 ASP.NET Core 中的用途,但是我不想等待操作结束,而是想立即返回给客户端。

问题

因此,无论是自制软件,还是 Hangfire 的,它都有点像 Fire and ForgetBackgroundJob.Enqueue<IEmailSender>(x => x.Send("hangfire@example.com"));

假设我有一些更复杂的方法,注入了 ILogger 和其他东西,我想触发并忘记该方法。该方法中有错误处理和日志记录。(注意:对于 Hangfire 来说不是必需的,这个问题与后台工作人员的实现方式无关)。我的问题是该方法将完全脱离上下文运行,内部可能没有任何作用,没有 HttpContext(我的意思是 HttpContextAccessor 会给出 null 等)所以没有用户,没有会话等。

问题

如何正确解决这个特定的电子邮件发送问题?没有人想要等待 5 秒的响应,同时没有人想要抛出和发送电子邮件,如果发送操作返回错误,甚至不记录......

0 投票
0 回答
53 浏览

design-patterns - UDP 对 Fire and forget 模式技术意味着什么?

TCP/IP 处理数据传输并始终响应 HTTP 的状态。如果我应用 Fire and forget 模式,它是否使用 UDP?

0 投票
1 回答
81 浏览

c# - 当对异步任务使用丢弃(_)时,try catch 不会捕获被调用方法的内部异常

我在一个 .net 框架项目 MVC 上工作,目前我面临以下问题。

我有一个 API

AddNoteAsync 是:

当 CreateAsync() 出现异常时,这可以正常工作

当我想丢弃 AddNoteAsync 时,问题就来了,如下所示:

这个最终会回来

“System.AggregateException 通过等待任务或访问其异常属性未观察到任务的异常。因此,未观察到的异常被终结器线程重新抛出。”

即使我在 AddNoteAsync 中等待。

如何修改代码以免出现聚合异常?

0 投票
2 回答
60 浏览

c# - Asp .Net Core WebApi:异常的第二次http调用

我正在编写一个 Webapi,当第一个 HTTP 端点失败时,我必须调用 HTTP 的第二个端点。但是,对于第二个 HTTP 调用,我的应用程序不应该阻塞主线程并且应该返回不成功的结果。我的 HTTP 客户端已经配备了 Polly 重试策略,重试后,我想在不阻塞主线程的情况下静默调用第二个 URL。我的代码如下所示。

我一直在寻找许多解决方案,但现在对它们感到困惑。[1] : https ://docs.microsoft.com/en-us/aspnet/core/fundamentals/host/hosted-services?view=aspnetcore-6.0&tabs=visual-studio [2]:https://www. hangfire.io/ [3]:https ://anduin.aiursoft.com/post/2020/10/14/fire-and-forget-in-aspnet-core-with-dependency-alive