我们将Simple Injector用作我们的DI容器,并使用其构造函数注入样式构建了许多共享库。
现在,我们有一个客户坚持认为,我们实现了一个可以调用的由IIS托管的SOAP Web服务,我们正在尝试使用WCF进行处理,并且遇到了问题。
主要问题是初始化期间各种程序集的可见性。
我已经看到了很多有关如何启动应用程序的建议。
我有一个带有静态initialize()方法的静态SimpleInjectorConfig类,我试图从上面的任何一个尝试调用。在其中,我需要连接缓存:
container.Register<IObjectCache>(() => MemoryCache.Default);
如果将SimpleInjectorConfig放入App_Code中,则可以从AppInitialize()调用SimpleInjectorConfig.initialize(),但不能引用MemoryCache。
The type or namespace 'Cache' does not exist in the namespace 'System.Runtime'.
当然可以。如果我将SimpleInjectorConfig移到源代码树中的其他位置,它会毫无问题地引用System.Runtime.Cache,但无法从AppInitialize()引用SimpleInjectorConfig。
在global.asax.cs中使用Global.Application_Start()具有相同的问题。我无法访问SimpleInjectorConfig。
同上,用于向我的服务类添加Configure(ServiceConfiguration config)方法。如果这样做,将无法访问SimpleInjectorConfig。
我觉得我缺少有关WCF管理程序集引用的基本知识。我曾期望,由于我的服务类和SimpleInjectorConfig已被编译到同一程序集中,因此它们应该能够互相看到。与global.asax.cs同上。
我想念什么?