2009-12-29 4 views
2

잘 작동하는 파일을 업로드하는 서비스가 있습니다.다른 원격 서비스로 파일 업로드 정보 전달

파일 업로드를 asp.net 방법 (일반적인 업로드와 마찬가지로)으로 제출할 수 있지만 업로드 파일 세부 정보를 원격 서비스로 전달할 수 있습니까? 따라서 asp.net 메서드를 프록시로 사용하고 실제 업로드 방법을 사용하지 않으시겠습니까?

실제 파일 저장은 원격 서비스에서 수행됩니다. 나는 C# 및 .NET 3.5

감사

+1

기술적으로 가능합니다. 더 자세한 내용이 필요합니다. 파일을 업로드하는 방법, 다른 서비스가 들어오는 데이터를 수신하는 방법 등 – GrayWizardx

+0

저장 하시겠습니까? 이렇게하면 저장 용량을 절약 할 수 있지만 대역폭이 줄어들 것입니다. 목표가 맞습니까? – Nate

+0

양식 파일 업로드 컨트롤 을 사용하고 있습니다. 원격 서비스는 Http.Context를 읽고 그로부터 파일 데이터를 가져 오는 처리기입니다. – Theo

답변

2

당신은 ASP.NET 방법을 사용하는 경우를 사용하고

주 는 파일이 서버에 업로드해야한다. 그러나 "SaveAs"방법 또는 다른 방법을 사용하여 저장할 필요는 없습니다. 파일을 스트림으로 보낼 수 있으면 다른 서비스로 전달할 수있는 스트림으로 파일에 직접 액세스 할 수 있습니다.

아이디어는이 블로그 게시물 (약간 다른 사용하지만, 같은 생각)에 설명되어 있습니다 :
http://weblogs.asp.net/meligy/archive/2008/02/18/unit-test-friendly-file-upload-handling-in-n-tier-applications.aspx

그래서, 원격 서비스 호출은 같은 방법으로 간단하게 할 수있는 경우 :

public void MyServiceMethod(Stream inputStream) { ........ } 

페이지에서 파일 내용을 다음과 같이 저장하지 않고 전달할 수 있습니다.

myService.MyServiceMethod(myFileUploadControl.PostedFile.InputStream); 
+0

스크립트 실행 시간 등으로 인해 시간 초과 문제가 발생하지 않더라도 고맙겠습니다. 나는 순수하게 추측하고있다. – Theo

+0

동일한 앱 도메인에서 2 개 계층 간의 로컬 통신에서만 시도했지만 중요한 점은 서비스간에 이진 파일 데이터를 전송할 수있는 다른 방법이 없다고 생각합니다. WCF 마법을 사용하여 테스트에서 이러한 문제점을 관리 할 수 ​​있습니다. – Meligy

관련 문제