NamedPipeClientStream 在应用服务中不起作用

Posted

技术标签:

【中文标题】NamedPipeClientStream 在应用服务中不起作用【英文标题】:NamedPipeClientStream not work in app service 【发布时间】:2016-11-06 15:21:45 【问题描述】:

我的代码在我的服务器上运行良好,但在 azure app 服务中我收到此错误“操作已超时。”在行中enter code here

 pipeStream.Connect(TimeOut);

我的代码

public void Send(string SendStr, string PipeName, int TimeOut = 1000)
    
        try
        
            NamedPipeClientStream pipeStream = new NamedPipeClientStream(".", PipeName, PipeDirection.Out, PipeOptions.Asynchronous);

            // The connect function will indefinitely wait for the pipe to become available
            // If that is not acceptable specify a maximum waiting time (in ms)
            pipeStream.Connect(TimeOut);
            Debug.WriteLine("[Client] Pipe connection established");

            byte[] _buffer = Encoding.UTF8.GetBytes(SendStr);
            pipeStream.BeginWrite(_buffer, 0, _buffer.Length, AsyncSend, pipeStream);
        
        catch (TimeoutException oEX)
        
            Debug.WriteLine(oEX.Message);
        
    

【问题讨论】:

【参考方案1】:

经过大量工作,它几乎完全解决了我的问题 http://***.com/a/3478552/5996253

【讨论】:

以上是关于NamedPipeClientStream 在应用服务中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

从 NamedPipeClientStream 调用命名管道时未连接

NamedPipeClientStream.Write 块

NamedPipeServerStream/NamedPipeClientStream 包装器

异步使用 NamedPipeServerStream 和 NamedPipeClientStream

关闭 NamedPipeClientStream 时出现 System.Net.Sockets.SocketException

无法通过 NamedPipeServerStream 和 NamedPipeClientStream 获取字符串数据