Указатель NULL
- это тот, который указывает на никуда. Когда вы разыскиваете указатель p
, вы говорите «дайте мне данные в месте, хранящемся в« p ». Когда p
является нулевым указателем, местоположение, хранящееся в p
, является nowhere
, вы говорите «Дайте мне данные в месте« нигде ». Очевидно, он не может этого сделать, поэтому он выбрасывает NULL pointer exception
.
В общем, это потому, что что-то не было правильно инициализировано.
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
if (response == null || response.StatusCode != HttpStatusCode.OK)
от проект NDiagnostics на CodePlex...
public override bool WebSiteIsAvailable(string Url)
{
string Message = string.Empty;
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(Url);
// Set the credentials to the current user account
request.Credentials = System.Net.CredentialCache.DefaultCredentials;
request.Method = "GET";
try
{
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
// Do nothing; we're only testing to see if we can get the response
}
}
catch (WebException ex)
{
Message += ((Message.Length > 0) ? "\n" : "") + ex.Message;
}
return (Message.Length == 0);
}
Принятие сервиса WCF и веб-сайта живет в том же веб-приложении, можно использовать "Состояние" WebService, который возвращает состояние приложения. Вы, вероятно, хотите сделать часть следующего:
Затем Вы создаете клиент на Победе. Приложение форм для WebService. Если WS не отвечает (т.е. Вы преуспеваете, некоторое исключение вызывают), тогда, веб-сайт снижается (как "общая ошибка").
, Если WS отвечает, можно проанализировать результат и удостовериться, что все работает, или если что-то повреждается, возвратите больше информации.
Вы захотите проверить код статуса на OK (состояние 200).