У меня есть веб-сервис, с которым я общаюсь с КПК. В том же каталоге, что и файл asmx webservice, у меня есть html-файл, из которого я извлекаю веб-запрос, чтобы проверить, доступен ли каталог.
Я использую следующий код:
/// <summary>
/// Holds the web request for checking the connectivity.
/// </summary>
private static WebRequest m_WebRequest;
/// <summary>
/// Tests the connection to the provided URL.
/// </summary>
/// <param name="url">The URL to test.</param>
/// <returns>True if the URL was resolved.</returns>
public static bool TestUrl(string url)
{
try
{
// Ensure the url is valid
url = url.Replace("http:\\", "http://");
url = url.Replace("\\", "/");
// Create the request
m_WebRequest = WebRequest.Create(url);
m_WebRequest.Timeout = 30000;
// Get the request
HttpWebResponse response = (HttpWebResponse)m_WebRequest.GetResponse();
return true;
}
catch
{
m_WebRequest.Abort();
return false;
}
}
Файл, на который я получаю ответ, всегда один и тот же и всегда доступен с моего компьютера. Кажется, что происходит сбой только в случае ошибки веб-службы (в том же каталоге, что и файл html). Может ли это быть связано?
В качестве альтернативы, есть ли лучший способ узнать, существует ли этот файл через Интернет?