У меня есть веб-сервис, с которым я разговариваю с КПК. В том же каталоге, что и файл asmx веб-службы, у меня есть 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) выдает ошибку. Может ли это быть связано?
В качестве альтернативы, есть ли лучший способ узнать, существует ли этот файл в Интернете?