コンピュータがファイアウォールに接続されているかどうかをテストするには、このファイアウォールのloginwebpageが開くかどうかを確認します。タイムアウトすると、エラー処理によって接続が開かれた(または、私たちの場合のように証明書のエラーがスローされます)と、接続されていないことがわかります。C# - インターネットページのテスト - タイムアウト待ち
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;
}
}
}
:
このプロセスの大きな問題は、我々がすでに接続されている時はいつでも、アプリケーションが出て、Webページの時間までハングこと..です
任意の入力は大歓迎以上のものです、ここで私が使用したコードですC# - Socket to log on to Firewall
0123:私は、私はるかに良いが、URLの代わりにIPを経由して、この接続を作成することができますソケット接続を発見した一方更新たぶん仕事ができるのBackgroundWorkerを使用して
バックグラウンドワーカーは、アプリをエレガントに進める唯一の方法だと思われます。あなたのご意見ありがとうございます – XikiryoX