Мой WCF должен методы, подобные этим:WCF передачи больших файлов с сервера и наоборот
[OperationContract]
string GetFile(int id);
[OperationContract]
void UploadFile(int id, string text);
GetFile возвращает текст в файл и UploadFile отправляет содержимое какой-либо файл на сервере.
Существует странное поведение, когда размер файла составляет около нескольких MB (4.37 MB в моем случае): GetFile работает отлично, и клиент получает длинный текст без каких-либо проблем, но UploadFile не может отправить тот же файла на сервер. Клиент зависает во время выполнения этого метода, и, похоже, он не завершит операцию. Я ждал несколько минут, но результата не было, и я остановил клиента принудительно.
Итак, мой вопрос в том, есть ли разница между направлениями такой передачи? Я знаю о потоке WCF, который должен использоваться для отправки больших файлов на сервер, и я собираюсь изменить его код, используя его. Интересно, почему проблема возникает только тогда, когда файл передается на сервер, а сервер правильно возвращает данные того же размера?
Обновление. UploadFile не должен быть операцией OneWay, потому что мне нужно знать, было ли это успешным. Выполнение не обогащает сервер. Я установил точку останова на стороне сервера, и она не срабатывает.
Если приложение-хостинг отклоняет запрос, естественно, что ваша точка останова не попала. –
Запрос не отклоняется, он не доходит до сервера. –