密封了Kephas服务



我真的很喜欢一个人如何通过提供OverridePriority属性来覆盖服务中的服务。但是,我需要某些服务不再被覆盖,以禁止插件中的某些外部代码超越我的安全服务。我该怎么做?

最简单的答案是:提供服务的最高优先级。

[OverridePriority(Priority.Highest)]
public class MyServiceImpl : IMyService {
    // ...
}

但是,如果以最高优先级注册了多个服务,则可能会有问题,在这种情况下,抛出了AmbiguousMatchException。我的意思是,您应该控制您的代码以避免这种情况。如果您认为应用程序运行时加载了恶意组件,请提供您自己的AppRuntime服务,该服务可能会在加载之前检查组件。

检查https://github.com/kephass-software/kephace/wiki/application-services-services#override-priority有关此主题的更多信息。

相关内容

  • 没有找到相关文章

最新更新