.net 线程出现安全异常。中止
调用.net 线程出现安全异常。中止,.net,multithreading,abort,securityexception,.net,Multithreading,Abort,Securityexception,调用Thread.Abort时,我收到以下异常: 请求类型的权限 'System.Security.Permissions.SecurityPermission,mscorlib, 版本=2.0.0.0,区域性=中性,PublicKeyToken=b77a5c561934e089' 失败了 为什么会发生这种情况?调用线程。中止需要CAS(代码访问安全)权限SecurityPermission\ControlThread。这与用户的权限无关,而是与.NET CLR授予代码的权限有关 Control
Thread.Abort
时,我收到以下异常:
请求类型的权限
'System.Security.Permissions.SecurityPermission,mscorlib,
版本=2.0.0.0,区域性=中性,PublicKeyToken=b77a5c561934e089'
失败了
为什么会发生这种情况?调用线程。中止需要CAS(代码访问安全)权限SecurityPermission\ControlThread。这与用户的权限无关,而是与.NET CLR授予代码的权限有关 ControlThread权限被视为“危险”权限。在.NET 2.0中,默认情况下,它仅授予在计算机上本地运行的程序集。我猜您的程序集要么是从本地计算机外部加载的,要么是在托管CLR实例(如ASP.NET)中运行的。无论哪种方式,都有适当的机制来增加程序集的CAS权限。如果需要这方面的帮助,则需要更具体地说明如何加载程序集
也就是说,使用Thread.Abort中止线程通常是无效的。您可能需要考虑投资另一种方法来停止线程执行,而不是花费时间来避免SurvivExtExcor。给出更多的细节,您的应用程序在做什么?你什么时候叫停?以管理员用户或操作系统等的普通用户身份运行。@Davide:线程从服务器检索数据。我在Windows7上以普通用户的身份运行。它只是一个基本的桌面应用程序,尽管它确实使用了一些DLL