在asp.net MVC4中执行后台任务

时间:2014-04-18 19:25:33

标签: c# asp.net-mvc asp.net-mvc-4

我是asp.net MVC4的新手。我正在建立一个网上购物商店。我正在为用户提供一个选项来上传包含数千条记录的文件,以便在文件中上传,然后我的应用程序将它们存储在数据库系统中。这是一项漫长的任务。所以我想在后台完成这项任务。当用户上传包含大量记录的文件时。那么应该允许用户做一些其他的任务。添加记录应该在后台完成。请告诉我该怎么办。任何帮助材料,教程?而且我没有使用Entity框架。我使用简单的面向连接的模型。我已经在stackoverflow上看了很多帖子,但找不到我的任务的解决方案 感谢

1 个答案:

答案 0 :(得分:1)

您可以在控制器中执行类似的操作,但AFAIK并不保证您的线程不会被应用池回收中止。

Task.Factory.StartNew(() =>
    {
        //do something here with your Request.Files[0].InputStream;
    },
    CancellationToken.None,
    TaskCreationOptions.LongRunning, // guarantees separate thread
    TaskScheduler.Default);

UPD:

可靠的方法是保存文件,让Windows服务在后台处理它。