2013-08-27 4 views
2

breeze 메타 데이터 로딩이 매우 느리기 때문에 응용 프로그램의 DOM로드가 매우 느립니다. 더 빨리로드하고 최적화 할 수있는 팁이 있습니까?breeze EntityManager 메타 데이터 로딩 시간 문제

로딩 시간에 미치는 영향을 보려면 다음 링크를 참조하십시오.

https://dl.dropboxusercontent.com/u/2781659/8-27-2013%201-02-38%20PM.jpg

+1

나는 왜 그것이 단일 엔티티 관리자 서비스 초기화에 대한 6 개의 메타 데이터로드 요청을 전송하는지 이해할 수 없다! –

답변

2

내 코드에서로드시 breeze 관리자를 쿼리하는 데 문제가 발생했습니다.

Breeze는 쿼리 실행 중에 메타 데이터를 사용할 수없는 경우 메타 데이터를로드합니다.

메타 데이터가로드 될 때까지 쿼리가 실행되지 않도록 코드를 변경했습니다.

내 코드가 변경되었습니다.

viewmodel load 중 callback이 제공된 loadMetadata() 함수를 호출합니다. 메타 데이터가로드되면 콜백 메소드가 초기 쿼리를 실행합니다.

var manager; 
var store; 

function loadMetadata(callback) 
{ 
    manager = new breeze.EntityManager(serviceName); 
    store = manager.metadataStore; 
    store.fetchMetadata(serviceName, callback);   
} 
0

는 팁에 대한 Loading metadata with breeze is slow를 참조하십시오.

하지만 다른 문제가 있습니다. 똑같은 EntityManager INSTANCE가 같은 메타 데이터를 두 번 요구할 이유가 없다고 생각할 수 있습니다. 아마 당신은 매번 새로운 EM을 만들고 있습니까? 이것이 당신이 원하는 것이라면 EM을 통해 동일한 메타 데이터를 공유 할 수 있습니다.

처음부터 느리게하는 것을 찾으려합니다. 클라이언트 또는 서버에서 Breeze와 관련이 있는지 의심 스럽습니다.

관련 문제