今日私は私たちのシステムの遅さを調べていました。いくつかのデバッグログを挿入することにより、私は、このセグメントにそれを絞り込む:なぜContainer.Configureが長くかかるのですか?
var db = MyDbContext.ForShard(shardKey);
_logger.Debug("Point 1");
container.Configure(cfg =>
{
_logger.Debug("Anon 1");
cfg.For<MyDbContext>().Use(db);
_logger.Debug("Anon 2");
});
_logger.Debug("Point 2");
データベースがかけらであり、断片は、使用するshardKey
識別する。 MyDbContext.ForShard()
を呼び出すと、接続文字列が正しいシャードを参照するデータベース接続が返されます。問題のスニペットは、StructureMap Container
に、このインスタンスを依存性注入に使用するように指示します。
ログでは、「Anon 2」と「Point 2」の間のギャップを除いて、各行のタイムラグは無視されます。良くない。しかし、私は、StructureMapが使い方を構成するのにずっと時間がかかることは決して見たことがありません。
ここで何か問題がありますか?そのGitHubページのStructureMapから素敵な人々によって答えたよう
。大きなアプリケーションでは、何秒も例外ではありません。なぜこの1秒の遅延が問題なのですか? – Steven