Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
kamildag
0 / 0 / 0
Регистрация: 24.10.2009
Сообщений: 13
1

непонятная ошибка с HttpListener

28.04.2011, 15:44. Просмотров 1196. Ответов 0
Метки нет (Все метки)

Здравствуйте.
У меня есть слушатель http запросов, которого создаю при старте приложения
C#
1
2
3
4
5
HttpListener _listener = new HttpListener();
_listener.Prefixes.Add(ConfReader.GetParamValue("s*erverAddress"));
_listener.IgnoreWriteExceptions = true;
_listener.Start();
new Thread(Listen).Start();
Далее метод Listen

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
void Listen()
{
while (true)
{
try
{
HttpListenerContext httpContext = _listener.GetContext();
 
string reqStr = string.Empty;
 
using (Stream inStream = httpContext.Request.InputStream)
{
using (StreamReader sr = new StreamReader(inStream))
{
if (inStream.CanRead)
reqStr = sr.ReadLine();
}
}
 
using (Stream outStream = httpContext.Response.OutputStream)
{
using (StreamWriter sw = new StreamWriter(outStream))
{
// todo:
sw.Flush();
}
}
}
catch (Exception ex)
{
Logger.AddLog(ex.Message + "\r\n" + ex.StackTrace);
}
}
}
И клиентское приложение, которое посылает запрос каждую минуту.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
void TimerHandler(object sender, System.Timers.ElapsedEventArgs e)
{
 
var myRequest = (HttpWebRequest)WebRequest.Create(_serverAddress);
myRequest.Method = "POST";
myRequest.ContentType = "application/x-www-form-urlencoded";
 
using (var reqStream = myRequest.GetRequestStream())
{
using (var reqSW = new StreamWriter(reqStream))
{
reqSW.Write("OK");
reqSW.Flush();
}
}
 
var resp = (HttpWebResponse)myRequest.GetResponse();
 
using (var respStream = resp.GetResponseStream())
{
using (var respSr = new StreamReader(respStream))
{
string s = respSr.ReadLine();
//todo
}
}
}
catch(Exception ex)
{
Logger.AddLog(ex.Message + "\r\n" + ex.StackTrace);
}
}
Все работает нормально, но когда смотрю логи на стороне сервера, замечаю что за день бывает, что несколько раз
вылетает ошибка. The I/O operation has been aborted because of either a thread exit or an application request

Вот из-за чего эта ошибка и тем более как от нее избавиться я никак не пойму. Если у кого нибудь есть предположения,
то был бы благодарен за помощь.

Добавлено через 18 минут
Забыл сказать что ошибка вылетает на строчке reqStr = sr.ReadLine(). И случается такое всего пару раз в день
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.04.2011, 15:44
Ответы с готовыми решениями:

Непонятная ошибка
Добрый день форумчане. Пытаюсь скомпилить следующее: class MyClass { struct...

Непонятная ошибка
Привет, почему то код не работает, что могло случиться? var C = new double; ...

Непонятная ошибка
for (int i = 0; i < 30; i++) { if (i == 10) { ...

Непонятная ошибка
"Волноводы.Прям_волновод_расчет_размера" не содержит конструктор, который принимает аргументы...

C# непонятная ошибка с переменной i
Всем привет , я начинающий в Си шарп и затупил на одном моменте. Вот ошибка ...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.04.2011, 15:44

Непонятная ошибка с референсами
Никак не могу разобраться: пытаюсь подключить библиотеку с моделью в контроллеру, он в упор не...

Непонятная ошибка в игре Судоку
Доброго времени суток. Вот решил сделать игру Судоку. Все вроде сделал правильно, но в какой то...

Непонятная ошибка CLR20r3 (FormatException)
Добрый день, коллеги! После автообновления системы, где стоит софтинка появляется вот такая вот...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru