草庐IT

thread-state

全部标签

c# - 尝试导出 X509 私钥的 RSAParameters 时出现 CryptographicException "Key not valid for use in specified state."

我盯着这个看了很长一段时间,感谢MSDNdocumentation我真的不知道发生了什么。基本上,我将光盘中的PFX文件加载到X509Certificate2中,并尝试使用公钥加密字符串并使用私钥解密。为什么我感到困惑:当我将引用传递给RSACryptoServiceProvider本身时,加密/解密工作:byte[]ed1=EncryptRSA("foo1",x.PublicKey.KeyasRSACryptoServiceProvider);stringfoo1=DecryptRSA(ed1,x.PrivateKeyasRSACryptoServiceProvider);但是如果导

c# - 可靠地停止 System.Threading.Timer?

好吧,我已经搜索了很多解决方案。我正在寻找一种干净简单的方法来防止System.Threading.Timer的回调方法在我停止后被调用。我似乎找不到任何东西,这导致我偶尔求助于可怕的thread-thread.sleep-thread.abort组合。可以用lock来实现吗? 最佳答案 一个更简单的解决方案可能是将Timer设置为永不恢复;方法Timer.Change可以为dueTime和period取值,指示计时器永不重启:this.Timer.Change(Timeout.Infinite,Timeout.Infinite);

c# - 可靠地停止 System.Threading.Timer?

好吧,我已经搜索了很多解决方案。我正在寻找一种干净简单的方法来防止System.Threading.Timer的回调方法在我停止后被调用。我似乎找不到任何东西,这导致我偶尔求助于可怕的thread-thread.sleep-thread.abort组合。可以用lock来实现吗? 最佳答案 一个更简单的解决方案可能是将Timer设置为永不恢复;方法Timer.Change可以为dueTime和period取值,指示计时器永不重启:this.Timer.Change(Timeout.Infinite,Timeout.Infinite);

c# - Thread.Sleep 与 Task.Delay?

我知道Thread.Sleep阻塞了一个线程。但是Task.Delay也会阻塞吗?或者它就像Timer一样使用一个线程来处理所有回调(当不重叠时)?(this问题不包括差异) 最佳答案 MSDN上的文档令人失望,但使用Reflector反编译Task.Delay可提供更多信息:publicstaticTaskDelay(intmillisecondsDelay,CancellationTokencancellationToken){if(millisecondsDelay基本上,这个方法只是一个包裹在任务中的计时器。所以是的,您可以

c# - Thread.Sleep 与 Task.Delay?

我知道Thread.Sleep阻塞了一个线程。但是Task.Delay也会阻塞吗?或者它就像Timer一样使用一个线程来处理所有回调(当不重叠时)?(this问题不包括差异) 最佳答案 MSDN上的文档令人失望,但使用Reflector反编译Task.Delay可提供更多信息:publicstaticTaskDelay(intmillisecondsDelay,CancellationTokencancellationToken){if(millisecondsDelay基本上,这个方法只是一个包裹在任务中的计时器。所以是的,您可以

c# - "The operation is not valid for the state of the transaction"错误和交易范围

当我尝试调用包含SELECT语句的存储过程时出现以下错误:Theoperationisnotvalidforthestateofthetransaction这是我调用的结构:publicvoidMyAddUpdateMethod(){using(TransactionScopeScope=newTransactionScope(TransactionScopeOption.RequiresNew)){using(SQLServerSql=newSQLServer(this.m_connstring)){//domyfirstaddupdatestatement//domycalltot

c# - "The operation is not valid for the state of the transaction"错误和交易范围

当我尝试调用包含SELECT语句的存储过程时出现以下错误:Theoperationisnotvalidforthestateofthetransaction这是我调用的结构:publicvoidMyAddUpdateMethod(){using(TransactionScopeScope=newTransactionScope(TransactionScopeOption.RequiresNew)){using(SQLServerSql=newSQLServer(this.m_connstring)){//domyfirstaddupdatestatement//domycalltot

c# - 比较使用 Thread.Sleep 和 Timer 延迟执行

我有一个方法应该延迟指定的时间运行。我应该使用Threadthread=newThread(()=>{Thread.Sleep(millisecond);action();});thread.IsBackground=true;thread.Start();或者Timertimer=newTimer(o=>action(),null,millisecond,-1);我读过一些articles关于如何使用Thread.Sleep是糟糕的设计。但我真的不明白为什么。但是,为了使用Timer,Timer有一个dispose方法。由于执行延迟,我不知道如何处理Timer。你有什么建议吗?或者,

c# - 比较使用 Thread.Sleep 和 Timer 延迟执行

我有一个方法应该延迟指定的时间运行。我应该使用Threadthread=newThread(()=>{Thread.Sleep(millisecond);action();});thread.IsBackground=true;thread.Start();或者Timertimer=newTimer(o=>action(),null,millisecond,-1);我读过一些articles关于如何使用Thread.Sleep是糟糕的设计。但我真的不明白为什么。但是,为了使用Timer,Timer有一个dispose方法。由于执行延迟,我不知道如何处理Timer。你有什么建议吗?或者,

c# - 为什么我会看到多条 "The thread 0x22c8 has exited with code 259 (0x103)."消息

我在我的Winforms应用程序中收到了大量这些消息,尽管我从未明确创建任何线程。为什么会这样?我四处寻找解释,但很难用这样的方式来表达询问。我使用的是VisualStudios2013,这是我关心的调试输出:Thethread0x23a4hasexitedwithcode259(0x103).Thethread0x2884hasexitedwithcode259(0x103).Thethread0x27echasexitedwithcode259(0x103).Thethread0x1978hasexitedwithcode259(0x103).Thethread0x1534hase