WCF を使用して FileService を実装しようとしています。ファイルコンテンツ自体とファイル名を提供することで、ファイルをアップロードできるはずです。現在の ServiceContract は次のようになります。
[ServiceContract]
public interface IFileService
{
[OperationContract]
[FaultContract(typeof(FaultException))]
byte[] LoadFile(string relativeFileNamePath);
[OperationContract]
[FaultContract(typeof(FaultException))]
void SaveFile(byte[] content, string relativeFileNamePath);
}
現時点では問題なく動作しますが、この Fileservice を使用してアプリケーションのネットワーク ペイロードを削減できるようにしたいと考えています。ユーザーがアプリケーションの特定のセクションを開くとすぐに多くのファイルを提供する必要がありますが、ユーザーがアプリケーションをさらにナビゲートするとすぐにそれらの一部をキャンセルできる場合があります。私のファイルの多くは 50 から 300 MB のどこかにあるため、ファイルの転送にはかなりの数秒かかります (アプリケーションは非常に遅いネットワークで実行される場合があり、1 分かかる場合があります)。
他のすべての WCF の質問との違いを明確にして概要を説明するには: 具体的な問題は、サービス自体のパフォーマンスではなく、クライアント <-> サーバー間でデータを提供することがボトルネックであることです。インターフェイスをストリーミングされた WCF サービスに変更することは合理的ですか?