ProKiLL
@ProKiLL
Системный администратор

При работе возникает ошибка, где же она?

Есть WCF который принимает файлы и сохраняет на сервере.
Код клиента:
if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                #region Загрузка и перевод файла
                FileStream fs = new FileStream(@openFileDialog1.FileName, FileMode.Open);
                byte[] buffer = new byte[fs.Length];
                int len = (int)fs.Length;
                fs.Read(buffer, 0, len);
                //string st = string.Empty;
                //for (int i = 0; i < buffer.Length; i++)
                //{
                //    st += buffer[i].ToString() + ", ";
                //}
                //textBox1.Text = st;
                //byte[] buffer = { 37, 80, 68, 70, 45, 49, 46, 52, 10, 37, 226, 227, 207, 211, 10, 49, 32, 48, 32, 111, 98, 106, 10, 60, 60, 10, 47, 84, 121 };
                fs.Close();
                #endregion
                client.Load("Тест", 15, "Тестовый_файл.rtf", 60, buffer); //Обращаемся к WCF
            }

Вопрос в следующем: почему WCF выкидывает исключение на превышение лимита ожидания - только когда buffer заполняется автоматически.
Если buffer заполнить в ручную то все ОК, где искать ошибку?
заполнение buffer в ручную (выдержка из массива в оригинале 56Кб, размер не имеет значения т.к. в ручном режиме были переданы файлы до 200Мб):
byte[] buffer = { 37, 80, 68, 70, 45, 49, 46, 52, 10, 37, 226, 227, 207, 211, 10, 49, 32, 48, 32, 111, 98, 106, 10, 60, 60, 10, 47, 84, 121 };
  • Вопрос задан
  • 135 просмотров
Пригласить эксперта
Ответы на вопрос 1
Чтение файла занимает время, s += не оптимально, занимает время, проверьте это время.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы