Azure WebJobs – 我可以使用Async方法吗?

Azure WebJobs – 我可以使用Async方法吗?,第1张

概述我想知道Azure WebJobs SDK是否可以触发异步方法?目前我有一个如下所示的方法: class Program{ static void Main(string[] args) { var host = new JobHost(); host.RunAndBlock(); } public static void Pro 我想知道Azure WebJobs SDK是否可以触发异步方法?目前我有一个如下所示的方法:
class Program{    static voID Main(string[] args)    {        var host = new JobHost();        host.RunAndBlock();    }    public static voID Processstuff([Queueinput("myqueue")] string msg)    {        var tsk = ProcessstuffAsync(msg)                  .ContinueWith(x => HandleAsyncError(x),TaskContinuationoptions.OnlyOnFaulted);        tsk.Wait();    }    public static async Task ProcessstuffAsync(string msg)    {        // do some async stuff and await it    }    // other methods ...}

但是,我想知道我是否可以让JobHost知道要调用我的异步方法?在WebJobs中尝试使用异步/等待,没有大量的文档,如果可以的话,这将是非常好的.@H_301_5@

我试图在本地运行它来测试…但WebJobs SDK不支持本地存储模拟器…@H_301_5@

更新4/7/2014:维克多的答案是正确的,但我确实想要展示在WebJob中使用异步方法(他们会工作)会看到什么.@H_301_5@

对于WebJob中的一个方法,如下所示:@H_301_5@

public async static Task ProcessMessageAsync([Queueinput("testq2")] string message){    await Task.Delay(50);    Console.Writeline("Processing Message Async...");    Console.Writeline(message);}

您将在WebJobs日志中看到以下输出:@H_301_5@

running in pID: 6272Timestamp:4:36:02 PMParameters bound. Invoking user function.--------Warning: This asynchronous method will be run synchronously.Processing Message Async...a test message--------Success
解决方法 现在支持异步.看到博客文章 here.

不幸的是,两个问题的简短答案是:不支持.@H_301_5@

(略)较长答案:@H_301_5@

WebJobs SDK不支持异步方法.如果查看执行日志(在仪表板上),您将看到一条警告,指出异步函数(返回任务或任务)的函数是同步执行的.@H_301_5@

我们不支持本地模拟器.开发时必须使用真正的存储帐户.@H_301_5@ 总结

以上是内存溢出为你收集整理的Azure WebJobs – 我可以使用Async方法吗?全部内容,希望文章能够帮你解决Azure WebJobs – 我可以使用Async方法吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1099465.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存