我正在從NetworkStream
中讀取XML數據,如下所示。如何向NetworkStream注入字符串,以便可以通過C#中的XmlReader.ReadAsync讀取該字符串?
using (XmlReader xmlReader = XmlReader.Create(stream, new XmlReaderSettings() { Async = true }))
{
try
{
while (await xmlReader.ReadAsync())
{
...
我想打電話給stream.Inject("</stop>")
,因此它可以在上面的while
循環讀取。我知道我將不得不圍繞Stream
編寫一個包裝類,並實施Inject
方法並覆蓋ReadAsync
方法。但我不知道如何實現這一點。有人會告訴我這是怎麼回事嗎(我無法想象在我的Inject
方法中應該添加額外的字符串)?
,爲什麼不關閉流(或通過返回的'Read' 0字節模擬您的包裝封閉流)? –
如果我只是通過'stream.close()'在另一個方法中關閉流,我在'xmlReader.ReadAsync()'中讀取流時遇到'System.ObjectDisposedException'異常。 –