2011-01-13 2 views
3

netConnect를 사용하여 IIS에서 호스팅되고 WCF 서비스를 호스팅하고 PerCall 인스턴스로 구성했습니다. 테스트 목적을 위해, 나는 절대적으로 아무것도하지 않는 단일 작업을 가지고 있습니다.WCF 메모리 사용

클라이언트가 연결하여 작업을 호출 할 때마다 w3wp.exe 프로세스의 메모리 사용량이 증가하고 클라이언트가 연결을 닫은 후에도 메모리 사용량이 줄어들지 않습니다. 반복 호출 후 메모리는 초기 20MB에서 500MB 이상으로 증가했습니다.

정상적인 동작입니까?

답변

2

PerCall 인스턴스 컨텍스트 모드로 서비스를 호출하면 메서드가 반환 된 후 메모리가 해제되어야합니다. 시나리오에서 그런 일이 일어나지 않으므로 명시 적으로 서비스 폐기를 제어 할 수 있도록 서비스에 IDisposable 인터페이스를 구현하십시오. 또한 사용 직후에 클라이언트에서 프록시 연결을 닫아야합니다.

+0

예 프록시 연결을 제대로 종료하고 있습니다. 작업에 문자 그대로 코드가 없으므로 처리 방법에 무엇을 넣어야합니까? –

+0

좋아, 그럴 경우 처분 할 것이 없다. 메모리 프로파일 러를 사용하여 응용 프로그램을 프로파일 링 했습니까? 그러면 메모리 누수가 어디 있는지 알 수 있습니다. –

+0

프로파일에 NO CODE로 프로파일 링하는 것은 무엇입니까? Microsoft의 문제를 해결하고 있습니까? 가능한 구성 문제가 있습니까? –