.B ekiM
 class Program
 {
 static SqlConnection conn = new SqlConnection("Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=NONEOFYOURBISUINESS;Data Source=localhost");
 static void Main(string[] args)
 {
 NativeMethods.MEMORYSTATUSEX mem = new NativeMethods.MEMORYSTATUSEX();
 NativeMethods.GlobalMemoryStatusEx(mem);
 Console.WriteLine("{0} bytes", mem.ullAvailPhys);
 System.Timers.Timer aTimer = new System.Timers.Timer();
 // Set the Interval to 2 seconds (2000 milliseconds).
 aTimer.Interval = 1000;
 aTimer.Enabled = true;
 // Hook up the Elapsed event for the timer.
 aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);
 Console.ReadLine();
 }
 private static void OnTimedEvent(object source, ElapsedEventArgs e)
 {
 NativeMethods.MEMORYSTATUSEX mem = new NativeMethods.MEMORYSTATUSEX();
 NativeMethods.GlobalMemoryStatusEx(mem);
 SqlCommand cmd = new SqlCommand(
 "INSERT INTO Observation (StatisticType, StatisticObserved, StatisticValue) VALUES (1, @.When, @.AvailPhys);\n" +
 "INSERT INTO Observation (StatisticType, StatisticObserved, StatisticValue) VALUES (2, @.When, @.AvailPageFile);\n" +
 "INSERT INTO Observation (StatisticType, StatisticObserved, StatisticValue) VALUES (3, @.When, @.AvailVirtual);\n" +
 "INSERT INTO Observation (StatisticType, StatisticObserved, StatisticValue) VALUES (4, @.When, @.AvailExtendedVirtual);\n");
 DateTime dt = DateTime.Now;
 cmd.Parameters.AddWithValue("AvailPhys", mem.ullAvailPhys);
 cmd.Parameters.AddWithValue("AvailPageFile", mem.ullAvailPageFile);
 cmd.Parameters.AddWithValue("AvailVirtual", mem.ullAvailVirtual);
 cmd.Parameters.AddWithValue("AvailExtendedVirtual", mem.ullAvailExtendedVirtual);
 cmd.Parameters.AddWithValue("When", dt);
cmd.ExecuteNonQuery();
 Console.WriteLine("Inserted {0}", dt);
 }
}
A-hah! It's not hanging; it's just throwing an exception that the runtime itself catches, then doesn't report.|||Is the problem solved then, or you you want to elaborate on the error message ?
Jens K. Suessmeyer.
http://www.sqlserver2005.de
|||
The problem is that the runtime catches an exception. It shouldn't: it hasn't published a contract saying it will catch exceptions. It also offers very little indication that it did catch the exception.
These problems are certainly not solved.
 
No comments:
Post a Comment