首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Task.Status.Faulted -如何处理异常

Task.Status.Faulted -如何处理异常
EN

Stack Overflow用户
提问于 2012-05-13 12:50:58
回答 1查看 1.9K关注 0票数 2

在我的ASP.NET Web API中,我有以下任务将传入的请求保存为文件。它似乎在我的本地运行良好,但在托管服务器上,文件没有保存,并且我的日志显示状态为Faulted。

据我所知,这与未处理的异常有关。我如何才能找出这些异常是什么,以便解决它们?

代码语言:javascript
复制
    // Save file
    MultipartFormDataStreamProvider provider = new MultipartFormDataStreamProvider(HttpContext.Current.Server.MapPath("~/Files"));
    Task<IEnumerable<HttpContent>> task = Request.Content.ReadAsMultipartAsync(provider);

    return task.ContinueWith<string>(contents =>
    {
        string filename = provider.BodyPartFileNames.First().Value;

        FileInfo file = new FileInfo(filename);

        Log.LogMessage("Status: " + task.Status.ToString() + " File Exists: " + file.Exists);

        // Delete excel file when complete.
        File.Delete(filename);

        // Return message to user.
        return "Complete";

    }, TaskScheduler.FromCurrentSynchronizationContext());
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-13 20:19:34

您需要有另一个续集来查看异常:

代码语言:javascript
复制
Task task1 = () => ....;
task1.ContinueWith((t) => if(t.IsFaulted) Trace.WriteLine(t.Exception.ToString()));
return task1;

因此,诀窍是仍然返回初始任务,同时仍然定义它的延续。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10569399

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档