2011-08-12 4 views
2

스크립팅 기능을 호출 할 때 BizTalk 맵에서 첫 번째 호출시 초기화 된 개체 (호출중인 클래스)가 초기화되어 유지되고 있습니까? 변환이 일어나는 전체 시간 동안의 메모리? 또는 새 행이 실행될 때마다 또는 스크립트가 호출 될 때마다 초기화되고 초기화됩니까?BizTalk 매핑 - 스크립팅 Functoid 개체 수명주기, 초기화 및 소멸시기

내가 묻는 이유는 스크립트 functiod를 통해 작은 테이블을 메모리에 캐싱하는 장점에 대한 토론이 있었기 때문입니다. 첫 번째 레코드를 처음으로 검색 할 때 사전을 캐시하고 후속 조회를 위해 데이터베이스 액세스없이 동일한 사전을 사용하려고합니다.

이것은 순진한 접근입니까? 객체가 다시 초기화되거나 사전에 변환이 끝날 때까지 계속 유지되므로 사전이 손실됩니까? Microsoft는 이에 대한 지침을 가지고 있습니까 (찾을 수 없었습니다)?

답변

1

외부 구성 요소의 정적이 아닌 클래스 인 경우 BizTalk는지도가 실행될 때마다 새 인스턴스를 만들고 설명대로 "일반"캐싱이 작동합니다.

This post 그리고이 게시물은 문제와 몇 가지 해결책을 논의합니다.