我在网上看了一遍,但我找不到以下问题的答案.
我在客户端程序中有一个C#/.NET NamedPipeClientStream实例,而一个工作线程正在调用NamedPipeClientStream.Read(byte [],int,int)来从服务器获取数据.服务器将数据更新发送到客户端.
读取是阻止呼叫.如果我想关闭客户端,有没有办法取消/退出读取呼叫?我试过在命名管道实例上调用Close,但它对调用Read的线程没有影响.
我认为有一种方法可以取消阅读电话.如果没有,似乎这是一个设计非常糟糕的API,因为你的程序受到管道的支配.
任何信息都非常感谢.
-克里斯
使用带有PipeOptions参数的NamedPipeClientStream构造
函数.在
调用Close()
方法时,指定PipeOptions.Asynchronous将完成Read()
调用. Read()
方法返回0.
原文链接:https://www.f2er.com/csharp/91846.html