Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在.Net中处理非托管代码_C#_Printing_Unmanaged - Fatal编程技术网

C# 在.Net中处理非托管代码

C# 在.Net中处理非托管代码,c#,printing,unmanaged,C#,Printing,Unmanaged,我有一个c#组件,它需要使用非托管代码,特别是作为打印机后台处理服务客户端的。每隔一段时间,调用就会冻结,导致组件挂起 在处理挂起/冻结的非托管代码方面,我有哪些选择 我的理想情况是 调用winspool.drv 如果呼叫挂起,请重新启动打印机池服务并重试 重新启动后台打印程序,因为您的客户机有问题,这是相当次优的。您需要修复代码,而不是解决由其引起的问题。将其作为Task()运行,并在超时过期时取消。是的,完全同意@CodeCaster。你需要修复bug。@CodeCaster-我同意,但有时

我有一个c#组件,它需要使用非托管代码,特别是作为打印机后台处理服务客户端的。每隔一段时间,调用就会冻结,导致组件挂起

在处理挂起/冻结的非托管代码方面,我有哪些选择

我的理想情况是

  • 调用winspool.drv
  • 如果呼叫挂起,请重新启动打印机池服务并重试

  • 重新启动后台打印程序,因为您的客户机有问题,这是相当次优的。您需要修复代码,而不是解决由其引起的问题。将其作为Task()运行,并在超时过期时取消。是的,完全同意@CodeCaster。你需要修复bug。@CodeCaster-我同意,但有时候世界是次优的。我从未说过我的代码导致打印机服务出现问题…@bokibeg谢谢你的评论。目前尚不清楚是什么原因导致打印机服务挂起。我知道不管应用与否,它都会随机挂起,这让我相信这不是应用的问题。正在进行的呼叫是通过网络获取打印机。