我有一个C#控制台应用程序,它通常以Windows的形式安装,但也可以在控制台模式下运行(这个问题并不重要,只是给出上下文)。当程序启动时,它会向web发送关于如何配置程序的数据的请求。如果它正在寻找的数据不在那里,我希望它定期地对API进行ping,以防API最终得到它的配置数据。
我想知道做这件事的最佳做法是什么。下面是我所想到的一个简化的版本:
Stopwatch sw = Stopwatch.StartNew();
var response = null;
while (true)
{
// Every 60 seconds, ping API to see if it has
我正在查看的文档,并且我确信它们没有方法以初始值启动秒表。
我正在开发一个应用程序,它需要测量经过的时间。因此,秒表成为这里显而易见的选择。然而,有一个用例,在清除后台应用程序时,应用程序的用户可能会意外地关闭应用程序。
因为,在后台运行无头飞镖代码现在有点模糊,我认为最好是跟踪时间和时间间隔,如果在意外关闭后恢复应用程序时也有时间间隔的话。如下所示的单独数据对象可以跟踪时间和秒表是否正在运行.
class StopwatchTracker{
final stopwatch;
final lastUpdated;
final isRunning;
final systemTi
我有两个模块:秒表和时钟,秒表发出一个开始和停止动作,时钟不发出任何动作。
秒表处理启动、停止和更新操作
单击仅处理更新操作,但更新操作与秒表不同。
秒表动作类型
type ActionType =
| Start of StartActionData
| Stop of int
| Update of int
时钟动作类型
type ActionType =
| Update of (int * TimeZone)
我的应用程序同时使用秒表和时钟,因此应用程序操作tpe为:
type Action =
似乎没有免费的* .NET性能分析器可以逐行分析。因此,我正在考虑使用秒表进行分析。
*自由,即许可证包括商业应用程序。
编辑:为了回应那些告诉我“买一个分析器”的人,我很想,但如果我可以花那么多钱,我会把它花在其他东西上。我试图说服我的老板,一个分析器是值得的,但没有太多的运气。这个问题主要是基于好奇心。我永远不会认为秒表是真正的剖析器的替代品。
我有一个小的测试应用程序(用C#编写),它可以在使用秒表时以行为单位测量性能差异。测试代码如下:
int n = 100;
BigInteger f = 1;
for (int i = n; i > 1; i--)
{
f *= i;
我正在开发一种秒表,它能在听到拍手声后停止。我的第一个函数创建一个flag变量并调用另一个变量。当听到一声巨响时,flag将从false更改为true,并应将true返回给调用者函数。条件if语句应该停止秒表。但是,我的秒表在返回true后不会停止。
function callStopwatch() {
var watch = new Stopwatch(timer);
watch.start();
var flag = false;
draw(flag);
if(flag == true){
watch.stop();
}
}