2009-07-09 3 views
1

.NET Remoting을 사용하여 웹 사이트와 Windows 서비스간에 통신합니다. 그들은 둘 다 다른 기계에 살고 있습니다. 모든 요청과 응답에서 사용하기 위해 정적으로 정의 된 포트 번호가 있습니다..NET Remoting을 사용하여 파일을 전송 하시겠습니까?

또한이 메커니즘을 사용하여 웹 사이트에서 Windows 서비스 상자로 파일을 전송합니다. Windows 서비스 상자에 원격으로있는 객체에 Stream 객체를 전달하고 있습니다. 웹 상자는 Stream이라는 파일을 포함하는 요청을 처리하기 위해 임의의 다른 포트를 여는 것입니다.

스트림에서 사용할이 포트를 지정하는 방법이 있습니까? 누구나 내가 정의한 포트를 사용하지 않는 이유와 다른 모든 요청/응답에 문제가 없는지를 알고 있습니까?

.NET Framework v2를 사용하고 있습니다.

http://www.codeproject.com/KB/dotnet/Net_Remoting_Events.aspx

소스 코드가 페이지의 링크에서 볼 수 있습니다 : 여기

+1

당신은 당신이 사용하고있는 .NET 버전을 포함하도록 질문을 수정해야합니다. 또한 FYI, Remoting을 대체 한 WCF로 이동해야합니다. –

답변

3

스트림을 바이트 []로 읽어 들인 다음 전달하십시오. 이 상황을 겪었을 때 내가 한 일.

+0

바이트 배열이 거대한 파일 일 때 어떻게됩니까? 바이트 배열에로드하면 스트림의 목적을 무효로합니다. – devshorts

+0

예 스트림의 용도를 무효화합니다. 그러나 이것은 원격 프로 시저 호출입니다. 파일 전송에있어서 이것이 어렵다고 생각해야합니다. –

1

는 .NET 원격으로 파일 전송을 구현 한 사람입니다.

그러나 John Saunders의 의견에 동의하면 WCF으로 옮겨야합니다.

+0

고맙습니다 ...--) –

0

리모컨 개체에 메서드를 추가하여 Stream을 반환하십시오.

using 절에 동봉하여 정확하게 폐기해야합니다.

+0

시도했지만 "이 원격 프록시에는 수신 대기중인 등록 된 서버 채널이 없거나이 응용 프로그램에 서버와 통신하기에 적합한 클라이언트 채널이 없음을 의미하는 채널 싱크가 없습니다." – Relevant

관련 문제