【问题标题】:Specified method is not supported httpwebrequest - Silverlight不支持指定的方法 httpwebrequest - Silverlight
【发布时间】:2009-03-27 20:16:16
【问题描述】:

我正在尝试在 Silverlight 2.0 中使用 HttpWebRequest 对象来执行“POST”。

从 BeginGetStream 方法返回后,我会遇到以下错误:

消息:“不支持指定的方法。”
StackTrace:“在 System.Net.BHWRAsyncResult.get_AsyncWaitHandle()”

这里有一些示例代码:注意我使用 fiddler 来查看是否有任何东西通过网络发送并且没有网络活动。

        HttpWebRequest req = (HttpWebRequest)WebRequest.Create(new Uri("http://someurl"));
        req.Method = "POST";
        req.ContentType = "application/x-www-form-urlencoded";
        req.Accept = "text/plain, */*";
        req.Headers["X-Requested-With"] = "XMLHttpRequest";

        AsyncCallback callBack = new AsyncCallback(streamResponse);

        req.BeginGetRequestStream(callBack, null);

谢谢, 戴夫

【问题讨论】:

    标签: silverlight httpwebrequest


    【解决方案1】:

    我刚刚找到了一个解决这个问题的方法。 HTTP 客户端需要知道 Content-Length 来填充 Content-Length HTTP 标头值。在长度已知之前,客户端无法启动请求。当您获得 RequestStream WebRequest 时无法知道您将发送到服务器的字节数。您必须关闭流才能提交 Content-Length,并且只有在关闭 RequestStream 后才能调用 BeginGetResponse。奇怪的是,这不是在 WebRequest 中完成的。 希望这可以帮助, 德米特里

    【讨论】:

      【解决方案2】:

      我刚才遇到了这个问题。在我脑海中浮现:

      1) clientaccesspolicy.xml / crossdomain.xml 不在您呼叫的服务器上。与 flash 一样,silverlight 不会与没有域的域通信。

      1.1) fiddler 是否记录 404 错误?如果没有,您将不会看到 Silverlight 尝试获取这些策略文件的失败尝试。

      2) 做不到这一点,发送您的自定义标头可能会令人不安。

      【讨论】:

      • 感谢您的回复。 Fiddler 将显示 404,所以我很确定这不是问题所在。我也试过取出自定义标题,但仍然没有乐趣。
      猜你喜欢
      • 2023-03-20
      • 1970-01-01
      • 1970-01-01
      • 2015-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多