2009-09-02 3 views
5

MVC 프로젝트에서 작업 중이므로 성능이 좋습니다.Global.asax 모든 작업에서 Application_start가 발생했습니다.

application_start에서 데이터베이스는 lucene.net 검색에 대해 색인이 생성되고 객체의 모든 변경 사항에 대해 색인이 확장됩니다. 하지만 application_start는 페이지에서 호출 할 때마다 실행됩니다.

왜 application_start가 한 번뿐 아니라 발사되는 이유는 무엇입니까? 나는 어디에서 찾아야하는지 알고 난 어떤 코드를 게시 할 것입니다 ... Web.config의이 동작이 발생할 수 있습니다 경우

는 잘 모르겠어요)

솔루션 : Lucene.net은 빈에 인덱스를 작성 폴더, 응용 프로그램이 더 이상 내 얼굴이 녹지 않는 경로를 변경 한 후 :)

답변

8

Lucene이 색인을 만들 때 일부 파일 (web.config, global.asax, bin 폴더 등)을 수정하기 때문일 수 있습니다. .) AppDomain을 언로드시킵니다.

+0

web.config에는 lucene에 대해서는 아무 것도 없지만 bin 폴더에는 _indexes라는 폴더가 있습니다 ... 아마도 lucene에서 왔나요? lucene을 설치 한 사람은 사라졌고 (외부 프로그래머) 다음 2 주 동안 사용할 수 없습니다. – griti

+1

bin 폴더가 수정되면 응용 프로그램이 다시 시작됩니다. Lucene을 다시 구성하여 인덱스를 다른 위치에 저장해야합니다. –

+0

네, lucene이 어디에 구성되어 있는지 알아 냈습니다. 감사! – griti

1

대개 web.config가 어떻게 든 수정됩니다.
추적하려면 web.config의 읽기 전용 특성을 설정하고 오류가 있는지 확인하십시오.

실제로 볼 수있는 주요 장소는 아마도 sobfolders에서도 web.config입니다.

+0

응용 프로그램이 시작된 후 web.config를 설정하고 bin 폴더 + 하위 폴더를 readonly로 설정하고 application_start를 호출합니다. – griti