Tag: system.diagnostics

什么时候应该使用Tracing vs Logger.NET,Enterprise Library,log4net或Ukadc.Diagnostics?

如何select标准跟踪,Logger.NET,企业库,log4net或Ukadc.Diagnostics? 有一种比另一种更合适的情况吗? 那会是什么? (ASP.NET,控制台应用程序,Azure Cloud,SOHO,Enterprise …) 有什么好处或缺点? 我错过了其他主要的日志框架吗?

生产代码中的System.Diagnostics.Debug.WriteLine

我应该可能已经知道这一点,但我不知道,我没有看到它的logging。 我在开发过程中经常使用System.Diagnostics.Debug.WriteLine,以便能够在debugging代码时跟踪对variables或exception的更改。 这是为了让开发和理解发生的事情更容易。 我通常要么注释掉代码,要么在我投入生产时将其删除。 我想知道如果我忘记评论代码会发生什么。 比方说,在开发周期中,我使用Debug.Write Line跟踪可能logging连接到输出窗口的错误信息。 这显然是好的,而我正在开发,但我想知道如果我去住,如果这里有风险。 有人可以将debugging器附加到我的活动可执行文件并捕获此输出? 还是只在Visual Studio中产生输出? 当我们从debugging切换到发布时呢? 如果我们编译发布,这个代码会被编译器忽略吗?

生产代码中是否可以使用秒表?

我需要一个准确的计时器,DateTime.Now似乎不够准确。 从我读的说明,System.Diagnostics.Stopwatch似乎正是我想要的。 但是我有恐惧症 我很担心在实际生产代码中使用System.Diagnostics中的任何内容。 (我广泛使用Asserts和PrintLns等debugging,但从来没有生产的东西。)我不只是试图用一个计时器来衡量我的function – 我的应用程序需要一个实际的计时器。 我读过另一个论坛,System.Diagnostics.StopWatch只是基准,不应该用于零售代码,虽然没有任何理由。 这是正确的,还是我(和谁发布的build议)是太closures了System.Diagnostics的头脑? 即在生产代码中使用System.Diagnostics.Stopwatch是否可行? 谢谢阿德里安

如何在远程机器上执行进程,在C#

我怎样才能在远程计算机上启动一个进程,说计算机名=“someComputer”,使用System.Diagnostics.Process类? 我在远程计算机上创build了一个小型控制台应用程序,它只是将“Hello world”写入一个txt文件,我想远程调用它。 控制台应用程序path:c:\ MyAppFolder \ MyApp.exe 目前我有这个: ProcessStartInfo startInfo = new ProcessStartInfo(string.Format(@"\\{0}\{1}", someComputer, somePath); startInfo.UserName = "MyUserName"; SecureString sec = new SecureString(); string pwd = "MyPassword"; foreach (char item in pwd) { sec.AppendChar(item); } sec.MakeReadOnly(); startInfo.Password = sec; startInfo.UseShellExecute = false; Process.Start(startInfo); 我不断收到“networkingpath未find”。