MS SQL Server의 FILESTREAM은 파일이 SQL (저장 위치, 고유성 보장 파일 이름 등)에 의해 관리되기 때문에 파일 저장에 적합하지만 파일 시스템에 저장되며 실제로 데이터베이스에있는 것이 아닙니다 (DB가 부풀어 오름). 코드에서 BLOB으로 보지만 실제로는 파일입니다.
WCF는 일반 stream of large data을 처리 할 수 있습니다. 작동 계약 (WCF의 웹 메소드 이름)에 대한 몇 가지 제한 사항이 있습니다. 하지만이 방법은 전송 진행 상황을보고하는 좋은 방법이 아닙니다. 이것이 원하는 방식으로 작동하지 않는다면 다른 사람들이 제출하는 다른 솔루션이나 FTP에 항상 의지 할 수 있습니다.
또한 암호화에 대한 WCF의 전송 보안을 확인하십시오.
자신의 백그라운드 스레드에서이를 관리해야합니다. 백그라운드에서 작동하는 스레드의 경우 BackgroundWorker를 참조하고 UI 스레드로 진행 상황을보고 할 수 있으며 (매우 중요) 스레드가 완료되면 다시 UI 스레드로보고하는 메서드를 제공합니다.
어떤 방법을 선택하든 시간 제한을 처리해야하므로 WCF, FTP, WebClient.Upload 등의 경우에도 동일한 문제가 있지만 약간 다른 방식으로 처리해야합니다. 적어도 WCF에서는 응용 프로그램 구성 파일에 시간 초과 타이밍이 구성되므로 타이밍을 쉽게 조정할 수 있습니다.
하지만 저는 Azure ....를 사용하지 않고 있습니다. 아니면 그냥 asp.net 쪽을 보여주는 것입니까? – Crudler
asp.net이 내부에 있음을 보여주기 위해 업로드 코드가 같아집니다. 그리고 심지어 같은 경우, 만약 당신이 자기 주최 WebApi없이 IIS =) –