无法从文件或字符串创建STREAM
我想从文件或字符串创建一个流,但我得到了下面的错误。无法从文件或字符串创建STREAM
ReadTimeout = 'stream.ReadTimeout' threw an exception of type 'System.InvalidOperationException'
WriteTimeout = 'stream.WriteTimeout' threw an exception of type 'System.InvalidOperationException'
我找到了一个示例代码来创建一个流。这似乎很好,但它给出了上面的错误
顺便说一下,我试图发送数据到亚马逊MWS饲料Api。以下是我的完整代码。
using (Stream s = GenerateStreamFromString("D:\\feed.xml"))
{
SubmitFeedRequest request = new SubmitFeedRequest();
request.Merchant = merchantId;
request.MarketplaceIdList = new IdList();
request.MarketplaceIdList.Id = new List<string>(new string[] { marketplaceId });
request.FeedContent = s;
request.ContentMD5 = MarketplaceWebServiceClient.CalculateContentMD5(request.FeedContent);
//request.FeedContent.Position = 0;
request.FeedType = "_POST_INVENTORY_AVAILABILITY_DATA_";
SubmitFeedSample.InvokeSubmitFeed(service, request);
}
public static Stream GenerateStreamFromString(string s)
{
MemoryStream stream = new MemoryStream();
StreamWriter writer = new StreamWriter(stream);
writer.Write(s);
writer.Flush();
stream.Position = 0;
return stream;
}
我在做什么错?我读过很多论坛,但我不明白。
它给下面
的MemoryStream类的图像中看到的错误不支持暂停。 你可以检查它检查属性CanTimeout。
bool canTimeout = stream.CanTimeout;
如果CanTimeout为false调用属性ReadTimeout或WriteTimeout不被允许并引发异常。
ReadTimeout例如可用于NetworkStream。
CanTimeout返回false。那么,我该如何创建一个流? ı不知道它 –
你有一个功能性的MemoryStream,但你不能调用ReadTimeout或WriteTimeout。这不是一个很好的从Microsoft OOP风格执行... –
我不打电话ReadTimeout/WriteTimeout。谁在呼唤它? –
's'是什么?它是一个文件名还是实际的流内容本身? –
也,你的代码在我的机器上工作。有没有其他的代码我没有看到?抛出异常时,可能会为您创建一个中断点。你知道它失败的路线吗? –
我将字符串(内容)传递给上述函数 –