相关疑难解决方法(0)

try/catch + using,正确的语法

哪一个:

using (var myObject = new MyClass())
{
   try
   {
      // something here...
   }
   catch(Exception ex)
   {
      // Handle exception
   }
}
Run Code Online (Sandbox Code Playgroud)

要么

try
{
   using (var myObject = new MyClass())
   {
      // something here...
   }
}
catch(Exception ex)
{
   // Handle exception
}
Run Code Online (Sandbox Code Playgroud)

c# using-statement try-catch

178
推荐指数
7
解决办法
9万
查看次数

C#Telnet库

是否有一个好的,免费的telnet库可用于C#(不是ASP .NET)?我在谷歌上发现了一些,但它们都有一个或另一个问题(不支持登录/密码,不支持脚本模式).

我假设MS仍然没有包含一个telnet库作为.NET v3.5的一部分,因为我找不到它.尽管如此,我还是会错的.

.net c# telnet

51
推荐指数
2
解决办法
12万
查看次数

我在哪里将try/catch与"using"语句放在一起?

可能重复:
try/catch + using,正确的语法

我想要try/catch以下内容:

        //write to file
        using (StreamWriter sw = File.AppendText(filePath))
        {
            sw.WriteLine(message);
        }
Run Code Online (Sandbox Code Playgroud)

我把这些try/catch块放在using声明中还是周围?或两者?

c# using-statement try-catch

23
推荐指数
3
解决办法
4万
查看次数

什么时候调用DbConnection.StateChange?

我有以下代码:

   class Program
{
    static void Main()
    {
        var connection = new SqlConnection("myConnectionString");
        connection.Open();
        connection.StateChange += HandleSqlConnectionDrop;
        Console.WriteLine("Hi");
        Console.ReadLine();
    }

    private static void HandleSqlConnectionDrop(object connection, StateChangeEventArgs args)
    {
        Console.WriteLine("DB change detected");
    }
}
Run Code Online (Sandbox Code Playgroud)

我在SQL服务器实例运行时启动上面的代码.然后我继续执行

SHUTDOWN WITH NOWAIT;
Run Code Online (Sandbox Code Playgroud)

在程序连接到的SQL Server实例上.然后我观察SQL服务器服务停止.但是,我从未在输出中看到"检测到DB更改"消息.为什么是这样?

旁白:如果我然后尝试对SQL连接执行操作,我将看到调用StateChange处理程序,但从未提前.有没有办法可以改变这种行为?

c# sql-server sqlconnection

11
推荐指数
2
解决办法
2238
查看次数