我有一個WCF服務,它使用位於數據庫中的各種配置參數以及緩存以獲得更好的性能。現在我有一個Singleton,它擁有這些信息,並在第一次調用Webservice時以延遲加載行爲進行初始化。如何在第一次請求發生之前初始化WCF服務?
緩存最近被放棄了,所以初始化需要一些時間,當然導致第一個服務請求的響應時間更長。
那麼在第一次調用發生之前(可能在應用程序池啓動時),對服務進行某種預先加載初始化的最有效方式是什麼?
我有一個WCF服務,它使用位於數據庫中的各種配置參數以及緩存以獲得更好的性能。現在我有一個Singleton,它擁有這些信息,並在第一次調用Webservice時以延遲加載行爲進行初始化。如何在第一次請求發生之前初始化WCF服務?
緩存最近被放棄了,所以初始化需要一些時間,當然導致第一個服務請求的響應時間更長。
那麼在第一次調用發生之前(可能在應用程序池啓動時),對服務進行某種預先加載初始化的最有效方式是什麼?
剛剛通過我的舊問題,發現這是之前的答案。如果遇到這種情況,請參見此處 thread
不要將服務託管在asp.net應用程序中,而是在IIS中使用自託管過程(即控制檯應用程序)或(甚至更好)WAS(Windows激活服務)服務。
這更加可靠,您可以在第一次呼叫之前初始化服務。
有關詳細信息,請參閱MSDN。