10

私が考えていた 、

WebApiwithは routing mechanism 、( GET POST など) を読み取り、http verb一致するメソッド名/パラメーターを検索するように機能します。

例えば ​​:

  • それがGET あり、URI が次の場合api/Customers/5:

    • メソッドはで始まる必要がありますGet

    • その場合はID、int をパラメーターとして受け入れるメソッドを検索します。

    • など(さらにルールがあります)。

私は主に彼らがリフレクションを使ってそれをしたと信じています。

質問 :

メソッドをアタッチするためだけにこのすべてのデータを検索するのは、すべての URI リクエストに対してパフォーマンス ヒットではありませんか?

サーバー側のメソッドを暗示する非常に短い文字列をクライアントから簡単に送信できる場所はどこですか?

簡単な方法でやってみませんか?わかりました。http動詞を意味として使用したいからです。わかった。しかし、メソッドを実行するためだけに非常に多くの操作

例 #1

get api/Customers/5

になり得る

a.ashx?m=gc&id=5 (method=GetCustomer & id=5)

例 #2

put api/Customers/5?v=123

になり得る

a.ashx?m=uc&id=5?v=123' (method=UpdateCustomer & id=5 & value=123)

私のはさらに短いです。

誤解しないでください。この API は、自分が何を話しているかを知っている非常に賢い人々によって作成されたと思います。

何が欠けているのか知りたいだけです。

4

1 に答える 1

14

Web apiには、コーディングしないとHTTPハンドラーにはない多くのオプションがあります。完全なリスト:http ://www.asp.net/whitepapers/mvc4-release-notes#_Toc317096197

  • ODataのサポート(Queryable属性を介して)
  • コンテントネゴシエーション
  • フィルタ
  • モデルのバインドと検証
  • IISの外部でセルフホストする機能
  • ルーティングルールを組み込んだ関連リソースへのリンク生成
  • ルート/ルーティングの完全サポート
  • IApiExplorerを使用してカスタムヘルプとテストページを作成する機能

パフォーマンスの比較HttpHandlerとWebAPI:http ://www.west-wind.com/weblog/posts/2012/Sep/04/ASPNET-Frameworks-and-Raw-Throughput-Performance

いつものように、パフォーマンスが必要な場合は、Http Handlerを使用して、自分に最も適したテクノロジーを選択する必要があります。柔軟性と残りが必要な場合は、WebAPIを使用してください。他の人が消費するWebサービスを公開する場合は、休息が必要な場合があります

于 2013-02-04T12:19:31.237 に答える