有没有任何方法可以在Azure网站下运行Ninject+NLog,而不使用性能较差的基于反射的注入?
var options = new NinjectSettings() { UseReflectionBasedInjection = true };
问题是否源于部分信任问题?
如果只有部分信任,那么动态编译是不可能的,因此没有其他方法。(很明显,如果你使用Azure PaaS模式,你可以切换到完全信任,但我想你不是这样的)
请记住,DI的开销是您应该在整个解决方案的上下文中衡量的——例如,如果您每个请求进行2次数据库往返,那么反射的任何影响都将相形见绌。