1. Может.
2. На этапе обострения косячизма. Либо, по причине недостатка\переизбытка soft skills. По моим наблюдениям, у юристов это наблюдается часто, но за счет языка\дое***тости остается безнаказанным.
Анатолий Широков, cоздается долго?
Батник вызываете через Process? Если да, попробуйте ждать process.WaitForExit(), и проверять через File.Exists().
Плюс, есть Directory.GetFiles(), которая возвращает список файлов в каталоге. Можно попробовать заменить if(File.Exists(path)){// some code here}
на if(Directory.GetFiles().Contains(path)){// some code here}.
P.S. Возможные ошибки в синтаксисе случайны.:)
Друг, есть одно универсальное правило: работает достаточно шустро - не трогай, работает медленно - бери профайлер.
Заменой рефлексии в некоторых сценариях может быть кодогенерация. В некоторых - избавление от рефлексии путем минимальных архитектурных перестроений. Иногда избавляться от рефлексии не нужно, достаточно провести банальные оптимизации пары-тройки методов (чем тормознутее метод, тем больше абсолютный выигрыш при базовых оптимизациях).
Если скорость не важна - используй решение, которое быстрее всего кодить, либо проще поддерживать.
Response можете юзать напрямую? Там используется синтаксис типа string cookieValue = response.Cookies["name"];
Иначе - читаете поток до конца, полученную строку пробегаете регуляркой. Начало: "Set-Cookie: ", конец - "; path=/".
Алексей Немиро: человек поставил 3600 с горя. Полагаю, один запрос на 100 (по умолчанию) выполнялся корректно. Да, при k параллельных запросах сервер может формировать ответ не k* секунд, a k**, но 3600 должно быть достаточно в любом случае. Отсюда, либо сервер вообще упал, либо должен возвращать ошибку типа BadRequest, Внутренняя ошибка сервера.
Сталкивался с похожей проблемой, при первом запуске программы один запрос проходил успешно, остальные (параллельные и последующие) падали.
Алексей Немиро: Таймаут запроса - час. То есть, сервер может не отвечать крайне долго. Или должен кидать другую ошибку.
Николай Фомин Уточняющие вопросы.
1. Сколько выполняется один запрос в одном потоке? Падает ли исключение уже на двух потоках?
С асинхронным чтением ответов с соответствующими методами используется своя механика, скорее всего, не зря (см. ссылку ниже). https://msdn.microsoft.com/ru-ru/library/system.ne...(v=vs.110).aspx
2. На SO рекомендуют использовать Connection.KeepAlive = true; stackoverflow.com/questions/16744432/httpwebreques...
Скорее всего, поможет. Суть в том, что все Ваши реквесты могут обращаться к одному Connection. При этом, первый его создаст, откроет, скачает ответ, закроет, второй увидит, что Connection есть, попытается открыть, не сможет (ибо он уже закрыт), будет ждать. Логика может отличаться, это лишь мое предположение.
АлГТУ
ЛИТМО
При этом практика показывает: при желании можно выучиться и в "плохом" ВУЗе (если там есть хоть один нормальный преподаватель), можно просто потерять 4 года жизни в МГУ.
Лучший вариант, если нужна корочка - самообучение\работа и ВУЗ, на который будет тратиться минимум времени. В идеале - заочка.
Алексей: Необязательно закрывать соединения. Тем более, у вас их немного. Главное - предусмотрите механизм их аварийного закрытия, чтоб по исключению они штатно закрывались\освобождались, после чего пересоздавались.
Сергей , а если создать контекст, передавать его в методы, и только после методов вызвать SaveChanges() (внутри методов не вызывать)? В этом случае можно сэкономить на быстродействии, за счет двух SaveChanges() и обработку транзакции.
2. На этапе обострения косячизма. Либо, по причине недостатка\переизбытка soft skills. По моим наблюдениям, у юристов это наблюдается часто, но за счет языка\дое***тости остается безнаказанным.