2013-09-22 4 views
0

У меня есть страница, где все работает отлично! Проблема или ошибка в том, что иногда электричество заканчивается, я получаю ошибку только тогда. Ошибка или исключение в том, что сервер не может разрешить имя хоста:Как поймать `System.Net.WebException` на веб-странице

удаленное имя не может быть решена: «smtp.gmail.com»

Я использую IIS 8, и я уверен, что это ISN» t ошибка IIS не является проблемой ASP.NET.

Что я искал: Я искал alot в Google, и каждый ответ должен был сделать try {} catch {} Так что я и сделал. У меня есть попытка поймать внутри блока. Например:

try { 
    WebMail.Send(// i will not write the tags because they are fine! 
    ); 
} 
catch (System.Net.WebException e) { 
      error = e.Message; 
} 
Response.Write(error); 

Этого не замечает ошибка! У меня проблема при написании блока try catch, или я не ошибаюсь.

А также необходимо отметить, что у меня есть запрос ajax. В противном случае я бы использовал:

ModelState.AddError(e.Message); 

Но я не могу использовать это (я думаю, что не могу). Могу ли я получить лучший способ, так что электронные письма отправляются только при подключении к серверу, иначе отображается всплывающее окно или ничего не делать. Но я не могу этого сделать! Я получаю 500 Internal Server Error. Я могу предотвратить использование try catch. Но как. Я не могу справиться с этим.

ответ

0

Вопрос был System.Mail.SmtpException.

Это исключение бросали поскольку сеть не может подключиться или разрешить SMTPServer (smtp.gmail.com)

Из-за этого, письмо не было отправлено, и там была еще ошибка.

Так что я просто использовал

try { 
    // send the email 
} catch (System.Mail.SmtpException e) { 
    // error message 
} 
Смежные вопросы