如果失败,是否正在使用关闭连接?

时间:2014-05-15 04:39:22

标签: c# asp.net .net using

如果我在try catch

中使用(关闭所有连接),我感兴趣
try{
     using (var browser = new IE("https://www.bbvanetcash.com/local_kyop/KYOPSolicitarCredenciales.html"))
                    {

                        clsUtils.WriteToLog("Trying to login", true, true);
                        browser.Visible = false;
                        browser.TextField(Find.ByName("cod_emp")).Value = _company;
                        browser.TextField(Find.ByName("cod_usu")).Value = _strUser;
                        browser.TextField(Find.ByName("eai_password")).Value = _strPass;
                        browser.Button(Find.ByClass("grandote estirado azul")).Click();
                        browser.WaitForComplete();
                        clsUtils.WriteToLog("Logged ", true, true);
                        connected = true;
                        var cookie = browser.Eval("document.cookie");
                        CookieContainer Cc = GetCc(cookie);


    } catch (Exception ex)
            {
                Console.WriteLine("(TryToLogin)-->Catching the {0} exception .", ex.GetType());
                return connected;
            }
}

如果其中一个步骤失败,那么使用它会关闭连接,或者只是gona去捕捉?

2 个答案:

答案 0 :(得分:1)

MSDN

  

using语句确保即使在对象上调用方法时发生异常,也会调用Dispose。通过将对象放在try块中,然后在Dispose块中调用finally,可以获得相同的结果;实际上,这就是编译器翻译using语句的方式。

答案 1 :(得分:0)

是的,如果您使用using语句,我必须实现Idispose类。

所以如果你使用下面的东西

using (foo)
{
    //...
}

编译器将解释如下。

try
{
    //...
}
finally
{
    foo.Dispose();
}

希望这会有所帮助。