【问题标题】:This Stream Does Not Support Seek Operations此流不支持搜索操作
【发布时间】:2011-09-11 21:46:08
【问题描述】:

这是对Getting Started With ASP.NET MVC3 & Google Checkout: Take 2的后续跟进

似乎我收到错误请求(400 错误)的问题 - 请参阅上面的主题 - 是因为这个错误。查看下面的屏幕截图:

如您所见,引发了一个异常,这可能是造成所有混乱的原因。我尝试使用MemoryStream,但出现异常告诉我它不能将System.Net.ConnectStream 转换为MemoryStream。那么我该如何解决这个问题呢?

【问题讨论】:

    标签: c# asp.net asp.net-mvc-3 stream io


    【解决方案1】:

    这是一个错误的线索。忽略那个。您之所以看到这一点,是因为调试器/可视化器试图向您显示所有属性(其中一些对于未知长度的流没有意义)。

    也就是说,我不确定将该流添加到视图数据中有何意义。流是管道,而不是。除了少数例外,它们实际上并不保存数据 - 它们只是数据源/接收器的中介。

    在查找实际问题方面,您需要catch 代码中发生的实际异常。忽略您在可视化器中看到的任何内容;这不是您的代码使用的。

    怀疑这个“连接”流(我不熟悉)旨在用作接收器 - 意思是:您写入它。然而,为了序列化(对于视图数据),它可能会尝试读取它。然而,这只是假设,除非您指出代码引发的实际异常(忽略可视化器)。

    【讨论】:

    • 我真的不想将它添加到 ViewData,这只是我用来检查流的一种方式。我最终想要做的是让 Google Checkout 正常工作。我得到的异常(真正的)是 400 错误:错误请求。由于我想不出任何可能导致问题的东西,我想我会检查所有正在播放的对象,看看它们是否有任何可疑之处,然后我发现了那个流问题。
    • @Kassem 你是从谷歌那里得到 400 的吗?还是您的服务器提高了 400?如果是第一个,我建议你的数据(对谷歌的请求)是错误的。
    • 我不认为这是我的服务器提高了 400。它绝对是谷歌的服务器。调用显示在这里:stackoverflow.com/questions/6295359/…
    • @Kassem 如上一个问题所述,您将不得不使用 fiddler 之类的工具来查看您发送的内容。听起来您只是发送了错误的东西。此可视化器问题无关。
    • 我不确定我在 Fiddler 中得到的结果是否证实了视觉问题(我不这么认为,因为我看到了正在发送的数据)。但是请看一下,也许您可​​以看到我看不到的东西...谢谢:)
    猜你喜欢
    • 1970-01-01
    • 2014-06-30
    • 1970-01-01
    • 1970-01-01
    • 2023-01-14
    • 1970-01-01
    • 1970-01-01
    • 2011-03-26
    • 1970-01-01
    相关资源
    最近更新 更多