Подтвердить что ты не робот

Изменилось ли с wcf binding transferMode с "Буферизованное" на "Потоковое", считающееся изменением для клиента?

У меня есть конечная точка службы WCF, которая обслуживает двоичные документы через поток. Конечная точка выглядит примерно так:

public Stream GetFile(int fileId){
...
}

Базовый HttpBinding для этой конечной точки службы ошибочно настроен для использования TransferMode = "Буферизация". Конечная точка службы в настоящее время используется путем интеграции сторон вне моего контроля. Из-за проблем с потреблением памяти с буферизованным передаточным моментом я хочу изменить это на TransferMode = "Потоковое".

Можно ли безопасно выполнить это изменение в конфигурации привязки службы и ожидать, что это не сломает ничего для каких-либо интегрирующих сторон?

4b9b3361

Ответ 1

Насколько мне известно, передача потокового режима WCF является отказом на клиенте, а это означает, что даже если вы измените его на сервере, если клиент не изменит свой конец, он все равно получит поток в своем полностью, прежде чем подавать его в виде буферизованного фрагмента данных. Другими словами, он должен быть прозрачным для ваших клиентов, но позволит им отказаться от потокового ответа.