代码在Network Stream.Read之后挂起

时间:2012-10-09 20:48:08

标签: c# asp.net xml

我正在尝试通过我的代码连接到打印机,然后在打印机上应用安全设置。在应用安全功能之前,它会在以下代码模块中检查密码。代码在行

之后挂起

stream.Flush()

if (responseStr.IndexOf(PrinterSecurityConstants.NewPrinterPass) > 0)
{
    LogUtility.Info(PrinterSecurityConstants.ValidateUserNamePassword);

    data = System.Text.Encoding.ASCII.GetBytes(
        ConfigurationManager.AppSettings[PrinterSecurityConstants.CurrentPass]
        .ToLower() + CommonConstant.Carriagereturn);
    stream.Write(data, 0, data.Length);
    stream.Flush();
    bytes = stream.Read(dataResponse, 0, dataResponse.Length);
    responseStr = System.Text.Encoding.ASCII.GetString(dataResponse, 0, bytes);
}

我需要做的是让这段代码有效。

1 个答案:

答案 0 :(得分:0)

Stream.Read()会阻塞,直到有可供读取的字节为止。如果您不想这样做,则需要更改读取模式。