Tag: synchronization

如何获取从QuickBooks到.NET应用程序在特定日期支付的发票?

我正在尝试获取一份列表,其中包含已在特定日期支付的QuickBooks的所有发票。 我在博客中找到了从QuickBooks获取所有发票的方法。 bool sessionBegun = false; bool connectionOpen = false; QBSessionManager sessionManager = null; try { //Create the session Manager object sessionManager = new QBSessionManager(); //Create the message set request object to hold our request IMsgSetRequest requestMsgSet = sessionManager.CreateMsgSetRequest(“US”, 8, 0); requestMsgSet.Attributes.OnError = ENRqOnError.roeContinue; //Connect to QuickBooks and begin a session sessionManager.OpenConnection(“”, “IDN InvoiceAdd C# […]

如何检查本地OneDrive文件夹是否同步?

我需要能够检查本地OneDrive文件夹是否同步/最新。 我可以通过查看任何文件/文件夹属性(使用C#代码)来检查这一点而不使用任何One Drive API吗?

C# – 如何获取互斥锁的所有者名称

我在两个应用程序之间有一个共享的互斥锁。 我想创建一个管理控制台,显示当前所有者的互斥锁名称。 如何获取当前拥有Mutex的应用程序名称?

任务中的秒表似乎是所有任务的附加,想要测量任务间隔

我正在循环运行并以下列方式启动任务: var iResult = new List(); foreach(var i in myCollection) { var task = Task.Factory.StartNew(() => DoSomething(), TaskCreationOptions.LongRunning); task.ContinueWith(m => myResponseHandler(m.Result)); iResult.Add(task); } 在我的DoSomething()方法中,我有一个计时器: public static myMsg DoSomething() { var timer = System.Diagnostics.Stopwatch.StartNew(); DoLongRunningTask(); //If it matters this hits a REST endpoint (https) timer.Stop(); return new myMsg(timer.ElaspedMilliseconds); } 当我遍历myMsg的列表时, myMsg似乎完全是加法的 – 第一个上的ElaspedMilliseconds可能是300,但最后一个可能是50000(50秒) – 这实际上是整个事情需要的大致时间运行(由另一个计时器测量)。

Monitor.Wait需要同步吗?

我已经开发了一个通用的生产者 – 消费者队列,它由Monitor以下列方式产生脉冲: 入队: public void EnqueueTask(T task) { _workerQueue.Enqueue(task); Monitor.Pulse(_locker); } 出队: private T Dequeue() { T dequeueItem; if (_workerQueue.Count > 0) { _workerQueue.TryDequeue(out dequeueItem); if(dequeueItem!=null) return dequeueItem; } while (_workerQueue.Count == 0) { Monitor.Wait(_locker); } _workerQueue.TryDequeue(out dequeueItem); return dequeueItem; } wait部分产生以下SynchronizationLockException:“从非同步代码块调用对象同步方法”我是否需要同步它? 为什么? 使用ManualResetEvents还是Slim版本的.NET 4.0会更好吗?