从我自己调用我的webapi作为一个简单的方法来可靠地运行后台任务一个坏主意?

时间:2015-10-26 00:23:23

标签: asp.net .net asp.net-web-api

我有一个.net webapi项目,有时候想要快速返回给调用者,然后立即做一些需要更长时间的事情,比如发送电子邮件。我知道这最好用Worker Role, proper scheduler, etc完成,从长远来看,我会这样做。但是在短期内,我建议使用WebClient来称呼自己。这对我来说感觉不错,但我想不出足够好的理由。我目前正在使用.net 4.5.1,因此无法使用QueueBackgroundWorkItem,尽管这似乎是最简单的解决方案。在这种情况下,我很高兴接受这样的风险:如果呼叫失败,将不会通知原始呼叫者,例如:如果无法发送电子邮件。

关于为什么这是/不是一个坏主意的一些想法:

  • 它会通过IIS作为单独的请求路由来对资源施加过度负载......但在这种情况下,性能影响可以忽略不计(即我们没有太多负载),所以这不是一个问题。

  • 在负载均衡的情况下,它可能不会转到同一个Web服务器,这感觉不对。但这似乎不会导致任何问题。

  • 它需要传递一个身份验证令牌,但确保工作正常非常简单。

  • 如果我发起新的webapi呼叫,那么我的elmah日志记录将很好地跟踪任何问题。

这是一种非常糟糕的做法,在这种情况下,为什么或者这是合理的做法?

0 个答案:

没有答案