ホームページ  >  記事  >  バックエンド開発  >  Webフォーム上でWebAPIを構築するにはどうすればよいですか?

Webフォーム上でWebAPIを構築するにはどうすればよいですか?

零下一度
零下一度オリジナル
2017-06-23 16:27:542586ブラウズ

同社のプロジェクトの多くは初期段階で WebForms を使用しています。しかし、ビジネスの発展に伴い、独自のプロジェクトにモバイル端末を接続する必要があるため、Web サービスは少し古く、現在では RESTFul の方が普及しているため、WebAPI が考えられました。

1. 新しいプロジェクト file=>New=>Project=>Web=> を作成するのが最も簡単な場合は、以下の Web フォームと Web API のコア リファレンスを確認してください。同時に、webfroms コア アプリケーションと WebAPI コア アプリケーションが作成されます。

Webフォーム上でWebAPIを構築するにはどうすればよいですか?

Webフォーム上でWebAPIを構築するにはどうすればよいですか?

2. WebAPI を元のプロジェクトに追加する場合は、関連するパッケージを参照するだけです。

1. まず WebForms アプリケーションを作成しましょう

Webフォーム上でWebAPIを構築するにはどうすればよいですか?

Webフォーム上でWebAPIを構築するにはどうすればよいですか?

2. Webfroms プロジェクトを作成したら、VS の NuGet パッケージ マネージャーを使用する必要があります。参照を右クリックし、[NuGet パッケージの管理] を選択します。

[参照] を選択し、WebAPI を検索し、最初の Microsoft.AspNet.WebApi を選択し、右側の [インストール] をクリックして [OK] をクリックし、出力に成功が表示されたら、インストールは完了です。

Webフォーム上でWebAPIを構築するにはどうすればよいですか?

Webフォーム上でWebAPIを構築するにはどうすればよいですか?

Webフォーム上でWebAPIを構築するにはどうすればよいですか?

3. Web プロジェクトを右クリックし、App_Start という名前のフォルダーを追加し、App_Start フォルダーの下に WebApiConfig という名前の cs ファイルを作成します。

名前空間をクリーンアップし、クラスを静的型に変更し、必要なコードを追加し、欠落している参照を自己参照します。

Webフォーム上でWebAPIを構築するにはどうすればよいですか?

完全なコードは次のとおりです:

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Http;namespace WebFormsDemo
{public static class WebApiConfig
    {public static void Register(HttpConfiguration config)
        {// Web API 配置和服务// Web API 路由            config.MapHttpAttributeRoutes();

            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );
        }
    }
}

4. Global.asax ファイルの Application_Start メソッドに WebAPI を登録する必要があり、ここで完全なコードを参照する必要があります。は次のとおりです:

protected void Application_Start(object sender, EventArgs e)
{// 在应用程序启动时运行的代码    GlobalConfiguration.Configure(WebApiConfig.Register);
}

5 。次に、それをテストして新しいコントローラーを作成しましょう

Webフォーム上でWebAPIを構築するにはどうすればよいですか?

6。ブラウザは http://localhost:27650/api/values/get?id=1 にアクセスし、テストに合格しました。

Webフォーム上でWebAPIを構築するにはどうすればよいですか?

3. OWINをホストとして使用してWebAPIを起動します

上記は、プロジェクトでSignalRを使用する場合、ホストとしてOWINを使用する必要があります。インターネットでは、Global で SignalR を開始することもできます (Application_Start メソッドに RouteTable.Routes.MapHubs(); という文を追加します) が、Microsoft は 2014 年 6 月の時点で廃止されたと宣言しました。 SignRを起動します。 ()

1. 新しい Startup クラスを作成します

Webフォーム上でWebAPIを構築するにはどうすればよいですか?

2. Configuration メソッドの直下に新しい ConfigureWebapi メソッドを作成します。完全なコードは次のとおりです。 Webフォーム上でWebAPIを構築するにはどうすればよいですか?

3. セルフホスト ホスティングのサポートがないため、UseWebApi の定義が IAppBuilder に含まれていないというエラー メッセージが表示されることがわかりました。 パッケージ マネージャー コンソールで次のコマンドを入力します。

Webフォーム上でWebAPIを構築するにはどうすればよいですか?

4.安装完成后错误提示消失

Webフォーム上でWebAPIを構築するにはどうすればよいですか?

5.移除Global中的启动方式,并将ConfigureWebapi方法初始化。

Webフォーム上でWebAPIを構築するにはどうすればよいですか?

Webフォーム上でWebAPIを構築するにはどうすればよいですか?

6.让我们来测试一下,http://localhost:27650/api/values/get?id=1,报错误404.

Webフォーム上でWebAPIを構築するにはどうすればよいですか?

7.原因是还缺少一个名为 Microsoft.Owin.Host.SystemWeb 的包,这个包提供了Owin服务运行ASP.NET 网络请求管道。在程序包管理器控制台,中输入以下指令:

install-package Microsoft.Owin.Host.SystemWeb

Webフォーム上でWebAPIを構築するにはどうすればよいですか?

8.让我们再来测试一下,浏览器中输入http://localhost:27650/api/values/get?id=1,测试通过。

Webフォーム上でWebAPIを構築するにはどうすればよいですか?

最后,值得一提的是官方的教程大多都使用隐式类型var 关键字,有网友说使用隐式类型的好处有

1.它有利于更好地为本地变量命名。
2. 它有利于设计更好的API。
3. 它促使对变量进行初始化。
4. 它消除了代码的混乱。
5. 它不需要using指示符。

楼主还没有深刻的体会和研究,不敢在这里妄加解释。还在学习中,下面是微软官方的文档,大家感受一下。

Webフォーム上でWebAPIを構築するにはどうすればよいですか?

文章到这里就结束了,其实写如何搭建WebAPI的文章也很多,这里仅仅是做一下记录,以防自己忘掉,如果此文章有幸被你看到,欢迎不吝指教。

以上がWebフォーム上でWebAPIを構築するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。