当你的程序接近部署阶段时,你可能想从代码中去掉所有的跟踪和调试消息。然而,你不得不从代码中一条一条地寻找调试指令并将其去掉。对于这种情况你可以在程序编译期间使用编译标志处理。从Visual Studio.NET IDE, 你可以在解决方案管理窗口右键工程名->从菜单页选择属性。如下图 ...
现在我们要集中精力实现一个实战实例来描述到目前为止我们已经看过的内容。这里要实现的DataImport 例子是那种等待文件到达指定目录然后将其导入到一个SQL Server 数据库中的典型程序。下面我们列出了这个例子中将要使用的类: FileSystemWatcher: 这个类允许开发人员监控指定目录并能够在发生改变时 比如创建一个新文件或者删除一个文件 触发事件。这个类位于System.IO ...
2012-04-28 14:01 5 2216 推荐指数:
当你的程序接近部署阶段时,你可能想从代码中去掉所有的跟踪和调试消息。然而,你不得不从代码中一条一条地寻找调试指令并将其去掉。对于这种情况你可以在程序编译期间使用编译标志处理。从Visual Studio.NET IDE, 你可以在解决方案管理窗口右键工程名->从菜单页选择属性。如下图 ...
我们下一个将要分析的代码检测技术是跟踪。在一个多线程应用程序中,这个技术非常重要。当已经启动了多个任务时,你可以跟踪一个线程的行为和相互之间的各个线程之间的影响。我们稍后将看到在这种情况下使用调试器是不现实的。.NET Framework 提供了很多有用的类来帮助开发人员轻松地实现跟踪功能 ...
调试与跟踪是两个经常使用到的技术,这两种技术对程序员是非常必要的。前者允许开发人员分析一个程序的变量值以及代码,一步一步跟踪代码流程。后者允许我们跟踪我们应用程序的行为,在一个监听器(一个日志文件,Windows 事件日志等)中显示信息。它们是创建鲁棒性应用程序的基础,因为它们给开发人员提供 ...
另外可以用作监听程序的两个类: 如果你需要跟踪一个不在Visual Studio 中执行的多线程应用 ...
一个STA和一个MTA线程单元最大的不同是再同一个线程单元中可以有多个线程运行并可以使用所有共享数据。如图2所示。 图 2 由于MTA线程模型支持多线程并发执行,所以处理多线程间全局数据的同步问题就变成了调用方的事情了。关于同步问题我们已经在上一章描述过。 确定线程模型 可以使 ...
我们将写一个简单的例子。对于我们为什么使用一个新的线程来说这不是一个好例子但是它将我们稍后要提到的复杂问题都去掉了。创建一个simple_thread.cs文件并把下面的代码粘贴进去: /************************************* /* Copyright (c ...
的C#应用程序并在一个新线程中生成素数。这个应用程序有挂起以及恢复素数生成线程的选项。为了方便操作和演示 ...
额,我猜你现在可能会这么想“既然线程会对我的程序产生负面影响,那么我为什么要使用它呢?”。其实问题的关键不在于到底用不用线程,而在于何时何地使用线程。知道在什么情况下应该使用线程是好的设计决策的核心。使用线程有两个不同的优势。在这一部分,我们将讨论这两个优势是什么。 后台处理逻辑 第一个使用 ...