1

私はMonoTouchを使用してiOSアプリからリモートWebサービスを呼び出しています。私はHttpWebRequestを使用しており、GET、PUT、およびPOSTリクエストに最適です。ただし、DELETEリクエストを作成しようとすると、奇妙な動作が発生します。送信するエンティティの本文が切り捨てられ、サーバーが空の本文(Content-Length:0)を受信します。

System.Net.HttpWebRequestのWP7.1実装を使用してWindowsPhoneで実行すると、同じコードが完全に機能します。

RFC 2616がDELETEリクエストでエンティティ本体を許可するかどうかについていくつかの議論があることを私は知っています(例えば、Phil Haackの質問)。この質問はそれについてではありません-それはなぜ体がサーバーに到達しないのかについてです。

質問に移りましょう:-)この問題はMonoTouchのHttpWebRequestの実装にありますか(つまり、MonoはDELETEリクエストの本文にContent-Length 0を強制します)?または、Monoはこの動作を担当するAppleフレームワークの上にHWRを実装していますか?もちろん、質問の理由は、問題を回避できるかどうか、および/またはMiguelにDELETE本文を許可するように求めることができるかどうか、またはワイヤ形式を変更する必要があるかどうかをよりよく理解するためです。

4

1 に答える 1

4

これはMonoのバグのように見えます.ソースコードを(非常に)簡単に調べたところ、これが原因のようです.

バグを修正できるように、テスト ケースと共にバグを報告する必要があります(さらに良いのは、パッチも提供することです。この場合、修正にそれほど時間はかかりません)。

于 2012-02-08T11:27:06.737 に答える