Как проверить, действительно ли wcf находится в режиме потоковой передачи? - PullRequest
2 голосов
/ 10 января 2010

У меня есть контракт на эксплуатацию, подобный этому:

public interface ISearch
{
    [OperationContract]
    System.IO.Stream DownloadFile(string file);

}

привязка - nettcpbinding, и когда я установил буферизованный и потоковый режим передачи, wcf, похоже, работает. так как я могу проверить, работает ли wcf в потоковом режиме?

Ответы [ 2 ]

2 голосов
/ 10 января 2010

Отправьте обратно файл, размер которого превышает значение для maxReceivedMessageSize в конфигурации привязки (по умолчанию 64 КБ) Если WCF находится в режиме Buffered, произойдет сбой. Если он находится в режиме Streamed или StreamedResponse, он должен работать.

0 голосов
/ 18 декабря 2012

Вероятно, это очень грубый метод, но вы можете использовать монитор ресурсов Windows для проверки того, что wcf действительно передает файл. Здесь я передавал большой файл из службы, размещенной в IIS. Чтение / s и Запись / s четко показывают, что файл читается во время потоковой передачи и не буферизован.

Test if WCF is really streaming

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...