要測試我們的計算機是否連接到防火牆,我們檢查是否打開此防火牆的loginweb頁面。如果超時,錯誤處理將會說它已經連接,如果它打開(或者像我們的情況那樣拋出證書錯誤),我們知道我們沒有連接。C# - 測試Internet頁面 - 等待超時
的大問題,這個過程是每當我們已經連接,應用程序掛起,直到網頁超時..
任何輸入更受歡迎,這是我使用的代碼:
public static bool FirewallConnectivityStatus(string url)
{
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Proxy = null;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
if (HttpStatusCode.OK == response.StatusCode)
{
response.Close();
return false;
}
else
{
return true;
}
}
catch (WebException Ex)
{
if (Ex.Status == WebExceptionStatus.TrustFailure)
{
return false;
}
else
{
return true;
}
}
}
更新 在此期間,我發現一個套接字連接,讓我更好的創建在URL代替通過IP此連接:C# - Socket to log on to Firewall
背景工作者似乎是優雅地進行應用程序的唯一方法。感謝您的輸入 – XikiryoX