ASP.Net Task.Run身份?

时间:2015-11-16 20:37:52

标签: asp.net asp.net-mvc

谁是执行Task.Run中指定的功能的用户/身份?它是应用程序池吗?

1 个答案:

答案 0 :(得分:1)

  

是应用程序池吗?

是。有一些例外,但那就是你让它做一些不同的事情,然后你会知道因为你写了它。否则:

Task.Run()

将在当前线程或具有相同凭据的新线程上执行(作为生成新线程的线程)。

不要将线程凭据(应用程序池,或在web.config中另外配置)与提出请求的人HttpContextBase.User Property混淆。

所有线程都按照web.config中的配置运行,除非您明确更改了该线程凭据。

(我说其他配置,因为您可以使用IIS Impersonation允许该帖子冒充HttpContextBase.User,但请不要使用模拟。