WCF 서비스에서 HTTP 프로토콜을 사용하고 있습니다. 특히 큰 쿼리가 시스템에 도달하면 버퍼를 통해 HttpChannelListener로 연결되고 결과적으로 서비스 호스트 자체로 연결되는 큰 Byte []가 만들어집니다. 이것은 WCF 트랜잭션이 완료된 후에도 그대로 유지됩니다. 이로 인해 결국 Large Object Heap 조각화가 발생하여 결국 응용 프로그램이 OOM 예외를 throw합니다. 여기 ServiceHost에서 보유중인 Large Object Heap에서 Byte []를 제거하는 방법
바이트 []의 경로이다 : ServiceHost.channelDispatchers.items._items [0] .listener.innerChannelListener.typedListener.bufferManager.innerBufferManager.bufferPools [13] .pool.globalPool.items._array [0]시스템은 트랜잭션에 버퍼링 된 WCF 통신을 사용하여 신뢰할 수 있는지 확인합니다.
이러한 대형 물체가 메모리에 남아 있지 않도록하려면 어떻게해야합니까?