这是一个示例问题来说明我的观点。我不是在寻找解决这个问题的方法,而是寻找它背后的总体思路。
可以说我有一个项目可以让人们加载动态程序集——这个想法是“插件”。假设它在 Web 服务器上运行。它们继承自抽象插件类并定义了一些方法......但其中一个是这样做的......
public class SomePlugin : PluginBaseClass {
//Some method that is supposed to update the
//the plugin information
public virtual void Update() {
HttpContext.Current.Response.Redirect("http://new-website.com");
}
}
我不想让动态程序集访问类似的东西——但既然它是静态的,你能做什么?
我不确定你是如何锁定组件的,但在我看来,你不可能覆盖所有的基地。您仍然希望他们能够创建类并访问某些内容,但不能访问其他内容。
有什么建议可以保护 .NET 中的静态信息免受动态程序集的影响吗?