相关疑难解决方法(0)

任务和线程有什么区别?

在C#4.0中,我们已经TaskSystem.Threading.Tasks命名空间.之间有什么真正的改变ThreadTask.我为了学习而做了一些示例程序(帮助从MSDN获取)

Parallel.Invoke 
Parallel.For 
Parallel.ForEach 
Run Code Online (Sandbox Code Playgroud)

但有很多疑问,因为这个想法并不那么清楚.

我最初在Stackoverflow中搜索了类似类型的问题但可能是这个问题标题我无法得到相同的.如果有人知道之前发布的相同类型的问题,请提供链接的参考.

c# multithreading terminology task-parallel-library c#-4.0

366
推荐指数
7
解决办法
20万
查看次数

从asp.net core 2中的控制器操作运行后台任务

我正在使用带有asp.net core 2.0的C#开发一个带有REST Api的Web应用程序

我想要实现的是当客户端向端点发送请求时,我将运行与客户端请求上下文分离的后台任务,如果任务成功启动,该任务将结束.

我知道有HostedService,但问题是HostedService在服务器启动时启动,据我所知,没有办法从控制器手动启动HostedService.

这是一个简单的代码来演示这个问题.

[Authorize(AuthenticationSchemes = "UsersScheme")]
public class UsersController : Controller
{

    [HttpPost]
    public async Task<JsonResult> StartJob([FromForm] string UserId, [FromServices] IBackgroundJobService backgroundService) {

           //check user account
           (bool isStarted, string data) result = backgroundService.Start();

           return JsonResult(result);
    }
}
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net-core-mvc asp.net-core asp.net-core-2.0

22
推荐指数
3
解决办法
1万
查看次数