あなたは多くの詳細を提供していませんが、私はそれが何か起こっているのを見ているように、問題が何であるかを知っています。
MemoryStream
に何かを書き込んでWCFサービス操作の結果として返す場合は、ストリームを最初にリセットしてから返す必要があります。 WCFはそのストリームを現在の位置からのみ読み込みます。したがって、その位置がリセットされていない場合は空のストリームを返します。
これは、あなたが説明している問題を少なくとも説明します。お役に立てれば。
ここではいくつかのサンプルコード:
[OperationContract]
public Stream GetSomeData()
{
var stream = new MemoryStream();
using(var file = File.OpenRead("path"))
{
// write something to the stream:
file.CopyTo(stream);
// here, the MemoryStream is positioned at its end
}
// This is the crucial part:
stream.Position = 0L;
return stream;
}
そして、それは失敗だ場合、例外がスローされている必要があります。どこでそれを捕まえることができましたか?エラーメッセージは何ですか?メッセージはあなたに何が起こっているかの手がかりを与えますか? –
お返事いただきありがとうございます。私は数日間絶望に追い込まれてきたので、この質問を気まぐれに投稿しました。 –