注销后如何终止服务器上运行的所有用户线程?

时间:2019-06-04 11:24:38

标签: c# rest web

我需要终止与启动它的用户相关的所有线程,并且我希望在用户注销后执行此操作。我在每个Controller中都有一个函数,该函数使用请求路径和用户名来命名线程:

Thread.CurrentThread.Name = $"{HttpContext.Current.Request.Path} {System.Web.HttpContext.Current.User.Identity.Name}";

如何找到所有这些?我已经尝试使用Process.GetCurrentProcess()。Threads,但是它返回不包含名称的ProcessThread对象-我需要Thread对象。

1 个答案:

答案 0 :(得分:0)

我不认为这是您的做法。当网站未“加载”时,用户不应有“与网站相关的线程”。为什么用户应该有任何“后台线程”?它们应该来自哪里?当用户请求网页时,网络服务器将加载该站点并将其提供给用户。然后“线程”完成并销毁。当用户在页面内提交表单,加载另一个页面或重新加载页面时,将在页面完全加载后启动一个新线程...并且该线程也将终止并被破坏。