Я бы рискнул прервать
try
{
Timer watchdog = new Timer(abortMe, Thread.CurrentThread, timeout, Timeout.Infinite);
output = outputStream.ReadToEnd();
watchdog.Dispose();
}
catch (ThreadAbortException e)
{
return;
}
private void abortMe(object state)
{
((Thread)state).Abort()
}
На самом деле мне удается закрыть поток, когда я работаю с сокетами TCP и UDP: он вызывает исключение SocketException, и поток успешно прерывается.
ByКстати, должен ли ваш поток быть потоком input ?Вы не должны читать поток вывода ...