1

ODatav3を使用するWFCデータサービスがあります。REST仕様に従って、Entity Frameworkを使用してエンティティ(この場合はクライアント)を追加するPOSTによって呼び出されるメソッドを作成しました。

すべてがうまく機能し、期待どおりに追加されますが、クエリ文字列を使用して必要なすべてのパラメータを渡すのはあまり快適ではありません。つまり、「通常の」POSTは通常application/x-www-form-urlencoded、クエリ文字列ではなくリクエスト本文でパラメータを送信します。WCF Data Servicesは、これを比較的簡単な方法で許可していないようです。

知っておくべきクエリ文字列を使用した場合の大きな欠点/セキュリティの問題(クエリ文字列の明らかなサイズ制限以外)はありますか?リクエスト本文でパラメーターを送信して、application/x-www-form-urlencoded何百万ものフープを飛び越えずに使用できますか?

すべてにクエリ文字列を使用するのは正しくないと感じています。

4

1 に答える 1

2

OData を使用してエンティティを作成する標準的な方法は、(エンティティを挿入するエンティティ セットの) エンティティ セットの URL に POST を送信することです。その POST の本体には、エンティティが ATOM または JSON ペイロードとして含まれています。http://www.odata.org/documentation/operations#CreatingnewEntries

サービス操作を使用して新しいエンティティを作成することは間違いなく可能ですが、それほど一般的ではありません。現在、本体内のサービス操作にパラメーターを送信することはできません (深刻なハッキングがなければ)。

于 2012-08-14T08:05:14.107 に答える