11

そのため、多くの調査を行った後、webAPIエントリポイントを使用してサービスサーバースタックを強化し始めています。このスレッド、特にDigeratiボードのメンバーによる最後の投稿に基づいて、WebAPIサービスをファサードとしてWCFアプリケーション層に実装しています。(私たちのWCFサービスは、すべての動作が存在するアプリケーション層へのファサードにすぎません)

私の質問はこれです。MVC 4をダウンロードし、サービスソリューションで新しいWebAPIプロジェクトを作成しました。しかし、すごい、私のプロジェクトで作成された大量のがらくたがありましたが、それは私が必要としないでしょう!たとえば、すべての画像ファイル、ホームコントローラー、ビューとモデルなど。

それで、これを単なるサービスプロジェクトに分解する場合、機能的なサービスプロジェクトを構築するために必要な最小限のファイルは何ですか?私たちの目的は、両方のサービスタイプ(WCFとwebAPI)を同じサーバーに並べて公開することです。各サービス呼び出しは同じ同じサービス呼び出しを実行し、要求に対して特定のDTOを返します。これまでのところ、App_Start、Controllers、およびGlabal.asax/web.configエントリのように見えます。ビュー、モデル、画像は絶対に必要ありません!!!

純粋なサービス展開を行うために他の人が行ったことに関する意見は、ここで大歓迎です。

4

2 に答える 2

18

ここでも同じ問題があります。最小限のWebAPIプロジェクトを作成する方法を説明しているShawnKendrotの記事を見つけました。Web APIのベータ版用に作成されましたが、まだ有効なようです。

  1. 空のASP.NETプロジェクトを作成します。
  2. System.Web.Httpおよびへの参照を追加しますSystem.Web.Http.WebHost(バージョン4.0.0.0)
  3. Global.asaxファイルを追加する
  4. にルートを登録しGlobal.Application_Startます。何かのようなもの:

    protected void Application_Start(object sender, EventArgs e)
    {
        GlobalConfiguration.Configuration.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional });
    }
    
  5. コントローラーを追加する

    public class SampleController : ApiController
    {
      public string Get(int id)
      {
        return "Hello";
      }
    }
    
    1. URL/api/sample/123を使用してプロジェクトをローカルで実行し、結果をお楽しみください。

ここに画像の説明を入力してください

于 2012-10-10T08:41:31.303 に答える
3

ご参考までに。さらに2つの.dllを参照する必要があることがわかりました。

  • System.Net.Http
  • Newtonsoft.Json
于 2013-05-16T03:14:27.820 に答える