Windows services 如何以中等信任运行exe或windows服务?

Windows services 如何以中等信任运行exe或windows服务?,windows-services,exe,code-access-security,medium-trust,Windows Services,Exe,Code Access Security,Medium Trust,我想以中等信任度运行exes和Windows服务,但我能找到的所有文献都建议使用 <system.web> <trust level="Medium"/> </system.web> 对于ASP.NET,所以我已经尝试过了,但是使用它的代码似乎仍然具有完全的信任。正确的方法是什么?可用的方法取决于.NET版本。在.NET 4.0之前,CLR强制实施CAS策略,这使得可以限制任何程序集的权限。但是,从.NET 4.0开始,CLR不再应用CAS策略,除

我想以中等信任度运行exes和Windows服务,但我能找到的所有文献都建议使用

<system.web>
   <trust level="Medium"/>
</system.web>


对于ASP.NET,所以我已经尝试过了,但是使用它的代码似乎仍然具有完全的信任。正确的方法是什么?

可用的方法取决于.NET版本。在.NET 4.0之前,CLR强制实施CAS策略,这使得可以限制任何程序集的权限。但是,从.NET 4.0开始,CLR不再应用CAS策略,除非您通过任何给定应用程序的app.config文件中的元素启用它。虽然这种方法目前可用,但您可能需要记住,将来的.NET Framework版本可能不支持这种方法


新的权限限制方式是通过主机(而不是“裸”CLR)限制权限。这就是ASP.NET所做的,也是您的备用托管平台需要做的,以便正确地实现这一点。这种权限限制的最简单机制是通过。我不熟悉Topshelf,他们的介绍文档也没有明确说明他们是否支持这一点。然而,这可能是一个相对简单的增强,因此可能值得请求该功能。

哪个版本的.NET?另外,这是用于测试还是用于部署?如果是后者,您是出于深度防御的原因试图限制自己代码的权限,还是为了防止代码潜在的恶意活动而试图限制他人代码的权限?限制第三方代码的权限-理想情况下,我希望使用Topshelf托管第三方服务,或者类似的东西