Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> .net 2.0 to .net 4.0 problem, 500 error 
V
    Опции темы
MFSham
Дата 26.2.2014, 20:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 220
Регистрация: 28.8.2005
Где: Беларусь, Гродно

Репутация: нет
Всего: 3



Добрый день.

Предыстория: обновили версию веб приложения с .net 2.0 на .net 4.0. Перекомпили приложение, соответственно, под новую версию фреймворка. Так же у IIS application pool поставили настройки для 4 фреймвока (полсностью совподающие с настройками 2).

Схема работы: есть win-приложение которому на вход подлаживается файл, а оно в свою очередь отправляет этот файл на наше веб-приложение на определенную страницу (asp.net). 

Код:
Код

HttpWebRequest hwrUpload = (HttpWebRequest)WebRequest.Create(sURL);
hwrUpload.Timeout = iUploadTimeout;
hwrUpload.KeepAlive = false;
hwrUpload.ContentType = "multipart/form-data; boundary=" + sBoundary;
hwrUpload.Method = "POST";
try
{
   hwrUpload.ContentLength = msData.Length;
   Stream rsUpload = hwrUpload.GetRequestStream();
   msData.Position = 0;
   byte[] aTmpBuf = new byte[msData.Length];
   msData.Read(aTmpBuf, 0, aTmpBuf.Length);
   msData.Close();
   rsUpload.Write(aTmpBuf, 0, aTmpBuf.Length);
   rsUpload.Close();
   WebResponse wrUploadRes = hwrUpload.GetResponse(); // 111 line
   Stream rsUploadRes = wrUploadRes.GetResponseStream();
   StreamReader srUploadRes = new StreamReader(rsUploadRes);
   sResult = srUploadRes.ReadToEnd();
   wrUploadRes.Close();
}
catch(Exception E)
{
   sResult = E.ToString() + "\r\nUploading files: " + sbUploadingFileNames.ToString();
}


Наше веб-приложение из request извлекает файл, и сохраняет его в систему.

Проблема: начало появляться мистическая проблема (Internal Server Error), которая локально не повторяется и воспроизвести ее так же не получается. У клиента _иногда_ (может 2 раза в день, может раз в неделю) появляется.

Код

System.Net.WebException: The remote server returned an error: (500) Internal Server Error.
   at System.Net.HttpWebRequest.GetResponse()
   at WebUpload.UploadFiles(String sURL, String[,] aFiles, String& sResMsg) in X\...\WebUpload.cs:line 111
Uploading files: file.abc


Данный код работал годами, пока мы всего лишь не обновили версию приложения со 2 на 4 версию. Плюс, соответственно, повесили приложение на пул для 4 фреймворка с идентичными настройками. Логи на win и web приложение я добавлял, никакой ошибки кроме представленной выше - нет. Все запросы которые приходили на web приложение - обрабатывались от и до.

Интересный момент: В тот момент когда что-то упало/перестало_работать (наше win приложение бесконечно ломится на web страничку) мы может спокойно пользоваться сайтом. Даже если взять этот url (который генерит наше win приложение и ломится на web приложение) и вставить в браузер - все пройдет на ура. Но тут все хорошо, скорее всего, из-за того что в request просто нету файла самого.
Если мы рестартанем пул приложения - все заработает (!).
Наши запросы, которые так упорно не проходили, чудесным образом вернут 200 код и файлы загрузятся в систему.


У меня большие подозрения в сторону IIS настроек. Может там что не так, я не силен в администрировании. Но сама проблема вводит меня в ступор. Локально не воспроизводится, все работает на ура. Если проблема вылазит - простой рестарт пула решает ее. Но, что собственно, рестарт дает? И означает ли это что наш код тут ни при чем?
В общем вопросов много, ответов, как таковых нет.
--------------------
Без ветра трава неподвижна. Без программ компьютеры бесполезны.
PM MAIL   Вверх
jonie
Дата 27.2.2014, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 3
Всего: 118



а что  в логах-то про 500-ую ошибку ? (например в EventLog винды)



--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
MFSham
Дата 17.3.2014, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 220
Регистрация: 28.8.2005
Где: Беларусь, Гродно

Репутация: нет
Всего: 3



Не верю я в чудеса, но ошибка уже не повторяется почти 3 недели.
Из последних добавлений в код - только логи, много логов почти на всех методах. А все остальное 1 к 1. 

Тему можно закрывать, походу.
--------------------
Без ветра трава неподвижна. Без программ компьютеры бесполезны.
PM MAIL   Вверх
jonie
Дата 17.3.2014, 20:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 3
Всего: 118



Цитата(MFSham @  17.3.2014,  12:56 Найти цитируемый пост)
Не верю я в чудеса, но ошибка уже не повторяется почти 3 недели.
Из последних добавлений в код - только логи, много логов почти на всех методах. А все остальное 1 к 1. 

верный признак гонки за ресурсы.


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
MFSham
Дата 17.3.2014, 21:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 220
Регистрация: 28.8.2005
Где: Беларусь, Гродно

Репутация: нет
Всего: 3



Нет многопоточности. Но есть много вызовов страницы, в то время когда предыдущий код еще не отработал.
--------------------
Без ветра трава неподвижна. Без программ компьютеры бесполезны.
PM MAIL   Вверх
jonie
Дата 18.3.2014, 09:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 3
Всего: 118



Цитата(MFSham @  17.3.2014,  22:54 Найти цитируемый пост)
Нет многопоточности. Но есть много вызовов страницы, в то время когда предыдущий код еще не отработал. 

ну это, конечно, не многопоточность... ага... Попробуйте на досуге-таки изучить как работает контейнер IIS в части вызова managed хендлеров (да и вообще)...


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
MFSham
Дата 18.3.2014, 10:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 220
Регистрация: 28.8.2005
Где: Беларусь, Гродно

Репутация: нет
Всего: 3



Спасибо, почитаю)
--------------------
Без ветра трава неподвижна. Без программ компьютеры бесполезны.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0812 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.