2017-07-02 71 views
1

我需要在果園cms中的分離線程中處理數據。 問題是請求何時結束會話和服務處置。 什麼是創建數據庫會話的最佳方式,或者在請求完成後如何處理數據?創建果園會話

編輯:

我想是這樣的代碼

var builder = new ContainerBuilder(); builder.RegisterGeneric(typeof(Repository<>)).As(typeof(IRepository<>)).InstancePerLifetimeScope(); //builder.RegisterInstance(_shellSettings = new ShellSettings { Name = ShellSettings.DefaultName }); builder.RegisterType<TransactionManager>().As<ITransactionManager>().InstancePerLifetimeScope(); builder.RegisterType<SessionFactoryHolder>().As<ISessionFactoryHolder>().InstancePerLifetimeScope();

但我不知道究竟登記的,解決倉庫時,拋出了我的錯誤。

+0

顯示你在解決問題上的努力。 – SteveFest

+0

我想到改變會議的生活範圍,但我不認爲這是個好主意。我認爲更好的做法是創建新的容器,但是如何在哪裏? 我可以嘗試創建新的容器,當我開始新的線程和註冊我需要的實例嗎?這是好方法嗎? – user8244302

+0

我認爲最好的辦法是創建一個後臺任務。 – urbanit

回答

0

Web服務器上的產卵線程不良,會降低其同時處理多個請求的能力。您應該考慮將您的任務卸載到其他進程,如Windows服務,通過MSMQ通過示例進行通信。

否則,請考慮讓您的任務實例化並處理它自己需要的服務和會話,而不是使用那些與請求生命週期相關的服務和會話。您可能需要爲此設置一個專用的依賴關係解析器,使任務明確控制它向依賴關係解析器請求的對象的生存期。