SocketPermission 是不允许的,并且.. pinvoking 是不允许的。
我想确保我的提供者可以在中等/部分信任场景中工作,但首先要了解 SqlClient。
对我来说,如果您有一个自定义权限类并且托管服务提供商将您的自定义权限类包含在策略中,那么您的库本质上就会完全信任,但情况似乎并非如此。
致电所有 .NET 安全专家。有人可以向我解释这是如何工作的吗?
谢谢
SqlClient 具有完全信任,因为 System.Data.dll 在 GAC 中(请参见此处)。所以 SqlClient 中的代码只需要允许部分受信任的调用者,然后在适当的方法中执行 SqlClientPermission.Demand() 。还有 [SuppressUnmanagedCodeSecurity] 属性允许 p/invoke。