我的 Prism 应用程序中有一个构造函数需要很长时间才能执行的组件(它使用 SAPBOBSdll 连接到 SAP Business One 数据库)。我在 Unity 容器中注册它:
_container.RegisterType<IConnection, Connection>(new ContainerControlledLifetimeManager());
当我尝试解决这个组件时,它需要很长时间(大约 15 秒)。使用不同的线程预先解析组件是不好的做法,所以当我尝试使用它时它不会阻止我的程序?我在注册行之后执行此操作,效果很好,但我对此有一种奇怪的感觉。
new Task(()=> _container.Resolve<IConnection>()).Start();
可以这样做还是我应该以其他方式进行?