Отправить имя файла в режиме потоковой передачи - PullRequest
0 голосов
/ 14 февраля 2011

Я хочу отправить файл с помощью WCF в режиме потоковой передачи. На стороне сервера у меня есть следующий код.

    public void LoadPicture(Stream stream)
    {
        FileStream file = new FileStream(GetAbsolutePath("asdf.jpg"), FileMode.CreateNew);
        byte[] buffer = new byte[bufferSize];
        int countRead;
        while ((countRead = stream.Read(buffer, 0, bufferSize)) > 0)
        {
            file.Write(buffer,0, countRead);
        }
        file.Close();            
    }

Но я хочу как-нибудь отправить рекомендованное имя файла (или некоторую дополнительную информацию). Как это можно сделать? Заранее спасибо.

1 Ответ

0 голосов
/ 14 февраля 2011

В потоковом режиме WCF может отправлять только сам поток в теле сообщения, как вы обнаружили.Хитрость, позволяющая обойти эту проблему, заключается в использовании MessageContract, чтобы вы могли добавить дополнительные сведения в заголовок (например, предлагаемое имя файла).

Этот вопрос (и содержащаяся в нем ссылка MSDN) должен помочь: WCF: использование потоковой передачи с контрактами сообщений

...