2009-10-13 3 views
1

WCF 및 NetTcpBinding을 사용하여 네트워크를 통해 보내야하는 일부 이진 데이터의 바이트 배열이 있습니다. 내 문제는 내가 배열의 일부만 보내야한다는 것입니다. 해당 부분을 별도의 배열에 복사하는 대신 다른 방법으로이 작업을 수행 할 수 있습니까? 이 여분의 복사 성능을 저하시키고 가능한 경우이를 피하고 싶습니다.WCF를 사용하여 네트워크를 통해 바이트 배열을 보내는 중

+2

네트워크를 통해 데이터를 보내는 경우 어쨌든 여러 번 복사됩니다. 현재 프로세스의 사용자 공간에있는 데이터의 일부를 복사하면 다른 모든 것과 비교할 때 최소한의 오버 헤드가 발생합니다. 이 오버 헤드가 실제로 중요한지 측정 했습니까? –

답변

0

모든 경우에 복사 작업의 성능 저하는 WCF 호출의 컨텍스트에서 무시해도됩니다.

정말 잘 수행하는 Array.Copy를 사용하십시오.

+0

예를 들어 WCF가 List 을 보내는 방법에 대해 궁금합니다. 목록 은 내부적으로 바이트 배열을 보유합니다. 전체 바이트 배열 또는 실제로 목록에서 사용 된 바이트 수 (용량 또는 개수) 만 보냅니다. 나는 그런 것을 필요로한다. –

+0

더 추상적 인 컬렉션 클래스를 사용하여 성능을 얻지는 않습니다. 배열 복사본 작업을 내부적으로 수행해야합니다. –

관련 문제