2017-10-31 3 views
0
내 MVC 웹 응용 프로그램에서 메모리 누수로 발굴하기 위해 노력하고있어

와 내가 발견 한 것은 StructureMap 내 DefaultRegistry는 스캔 ... scan.TheCallingAssembly()를 복제 한 것입니다 이게 문제 야? 메모리 누수가 발생할 수 있습니까? (제발 문제가). 나는 오늘 밤에 수정 사항을 발표 할 것이므로, 문제가 해결 될 지 안다면 결국 알게 될 것이다. 중복 된 검사 방법이 어떤 부작용을 갖는지 확실하게 알면 좋을 것입니다.StructureMap 레지스트리에 중복 검색이 있으면 어떻게됩니까?</p> <pre><code>public DefaultRegistry() { Scan( scan => { scan.TheCallingAssembly(); scan.WithDefaultConventions(); scan.TheCallingAssembly(); }); } </code></pre> <p>것이다 :

또한 검색 방법이 나타나는 순서에는 어떤 의미가 있습니까? scan.WithDefaultConventions()가 마지막으로 올 필요가 있습니까, 아니면 먼저 필요합니까, 아니면 중요합니까?

답변

0

다음은 StructureMap : https://github.com/structuremap/structuremap/blob/master/src/StructureMap/Graph/AssemblyScanner.cs#L29-L30의 관련 코드입니다.

그래서 아니요, StructureMap은 Scan()을 호출 할 때 동일한 어셈블리를 두 번 검사하지 않습니다. 은 여러 개의 Scan() 작업에서 동일한 논리적 인 작업을 수행 할 경우 잠재적으로 중복을 만들 수 있지만 최소한 특정 유형의 기존 등록보다 높은 경우 동일한 유형을 두 번 추가하지는 않습니다.

아니요, 어셈블리 및 등록 규칙을 어떤 순서로 선언해도 상관 없습니다. 등록 규칙은 정의한 순서대로 실행되므로 몇 가지 경우에는 종속성 순서에 반영됩니다.

관련 문제