谁是执行Task.Run中指定的功能的用户/身份?它是应用程序池吗?
答案 0 :(得分:1)
是应用程序池吗?
是。有一些例外,但那就是你让它做一些不同的事情,然后你会知道因为你写了它。否则:
Task.Run()
将在当前线程或具有相同凭据的新线程上执行(作为生成新线程的线程)。
不要将线程凭据(应用程序池,或在web.config中另外配置)与提出请求的人HttpContextBase.User Property混淆。
所有线程都按照web.config中的配置运行,除非您明确更改了该线程凭据。
(我说其他配置,因为您可以使用IIS Impersonation允许该帖子冒充HttpContextBase.User
,但请不要使用模拟。