Можно ли использовать Stream в качестве параметра для операции службы данных WCF? - PullRequest
0 голосов
/ 20 марта 2011

Обратите внимание, что этот вопрос относится только к службам данных WCF, а не к обычным службам Wcf.

Я безуспешно пытаюсь загрузить файл на сервис.

Как только я добавлю следующий код:

[WebInvoke(Method = "POST")]
public void UploadPic(Guid id, Stream fileContents)
{
    myImageSaver.SaveImageFromStream(fileContents);
}

Сбой всей моей службы данных. Я не могу запросить ни один из наборов сущностей. Я только что получил синий экран смерти WCF.

Ответы [ 2 ]

1 голос
/ 21 марта 2011

Невозможно передать поток как параметр для операции службы, в качестве параметров для операций службы поддерживаются только примитивные типы. Правильный способ поддержки потоков в службах данных WCF - использовать функциональность MLE / MR. Взгляните на эту серию блогов, где подробно описано, как реализовать такой сервис: http://blogs.msdn.com/b/astoriateam/archive/2010/08/04/data-services-streaming-provider-series-implementing-a-streaming-provider-part-1.aspx

0 голосов
/ 20 марта 2011

Да, это возможно, см. Пример здесь: http://forums.asp.net/t/1376821.aspx/1

...