よく、私はaspnetコアを学習していますが、アプリケーションがいつサーバ(IISやKestrelServerなど)を起動するのか、またサーバがhttprequestを聞いてアプリケーションに要求を転送する方法を理解できません。誰でも私を助けることができますか?おかげASPNET COREがhttprequestの受信を開始する方法
答えて
まあ、(私はC#のについてのあなたの知識を把握することができませんでしたよう)さんは、最初から始めましょう
すべてのC#アプリケーションそれがあるので、そこに、プログラムの実行を開始する場所を指定する単一のMainメソッドが含まれている必要があり、 (AspNetCoreではとさえASPNETに
public static void Main(string[] args)
{
var config = new ConfigurationBuilder()
.AddCommandLine(args)
.Build();
var host = new WebHostBuilder()
.UseKestrel()
.UseConfiguration(config)
.UseStartup<Startup>()
.Build();
host.Run();
}
:デフォルトテンプレートは、のようなものを、あなたが使用しますWebServerのタイプを設定し、HTTPリクエストをリスニングを開始するサーバーを伝えることができ、クラスProgram
を持っていますMVCまたはWebApi)を使用することができます(また、使用する必要があります)OWIN(別名KatanaまたはvNext、MicrosoftのOWIN imそれぞれAspNetとAspNetCoreのためのplementations)。
OWINはWebServersとWebApplicationsとのコミュニケーション方法を示すインターフェイス(単なる仕様)を表します。通常は、Authentication/Authorization、Log、Error HandlingsなどのミドルウェアをプラグインできるパイプラインへのHttp Requestを処理し、パイプラインの最後にWebアプリケーションをプラグインする必要があります。
AspNetCoreでは、ホスト構成でを使用してMiddlewareパイプラインを設定しています。上記のMain
メソッドを参照してください。PipelineはすべてのHttpRequestを処理します。 AspNetCoreでMVCアプリケーションを構築する場合
(.UseMvc()
)あなたは、RESTfulなエントリポイントのために(HTTP GET、POST ...)見てMicrosoft.AspNetCore.Mvc.Controller
から継承するクラスを探すために、あなたのアプリケーションを伝えるミドルウェアを設定している
これは単純な概要に過ぎず、この技術のドキュメントをもっと詳しく知ることができます。 Katana、vNext、OWIN、OWINミドルウェア、OWINパイプラインなどのタグを検索するだけです。
ここでは、asp.net core introductionでコアアプリケーションの解剖学的構造について説明します。あなたの質問に答える
いくつかの重要なテキストは、チュートリアルから、次のとおりです。
アンASP.NETコアアプリは、単にその主な方法でWebサーバーを作成しコンソールアプリケーションです。 Mainは、ビルダーパターンに続くWebHostBuilderを使用して、Webアプリケーションホストを作成します。ビルダーには、Webサーバー(たとえばUseKestrel)と起動クラス(UseStartup)を定義するメソッドがあります。上記の例では、Kestrel Webサーバーが使用されていますが、他のWebサーバーも指定できます。 Startupクラスは、リクエスト処理パイプラインと、アプリケーションに必要なサービスが設定されている場所を定義する場所です。起動クラスはパブリックであると、次のメソッドが含まれている必要があります。
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
}
public void Configure(IApplicationBuilder app)
{
}
}
私は、これはあなたがasp.netコアは、HTTPリクエストを処理する方法を理解するのに役立ちますね。 ありがとう
thanks.best wish – oldman
- 1. ブロードキャスト受信者クラスからのPATICULAR SMS受信時のアクティビティの開始方法
- 2. ESP8266はHTTPRequestを受信しません
- 3. 受信を動的に登録するサービスを開始する受信者
- 4. Intellij idea mac osxのCEコマンドラインを開始
- 5. Flex Builderデバッガで受信デバッグセッション接続の受信を開始させる
- 6. ブロードキャストインテントの受信に基づいてネットワーク通信を開始する適切な方法は何ですか?
- 7. ブロードキャスト受信機を使用してAndroidサービスを開始する
- 8. FUSEでAMQブローカーの開始を待ち受ける方法
- 9. Windows Phone用のhttprequestでJSONを送信/投稿する方法
- 10. トポロジの開始時にチックタプルを送信する方法は?
- 11. Python/ScapyとのEAP通信を開始する方法
- 12. 着信がサービスを開始する
- 13. メールを受信するとOutlook電子メールリッピングアプリケーションが開始されますか?
- 14. ブロードキャスト受信機によるサービスの自動開始
- 15. Android CGM開始プッシュ通知を受信した後のアクティビティ
- 16. Windows CE 6.0サービスでスレッドを開始する
- 17. 着信/発信コールの開始/終了を処理する方法
- 18. HttpRequestでSOAPエンベロープを傍受する
- 19. Javaでの式エラーの不正な開始の受信
- 20. Silverlightツールキット - ドラッグ開始を傍受する
- 21. I2C、PSOCを使用して送受信バイトを開始
- 22. websocket経由でファイルを受信してダウンロードダイアログを開始
- 23. 画面上の受信者からの開始遅延アクティビティ
- 24. 放送受信機はいつ開始されますか?
- 25. 受信したFirebase通知の開始と終了Androidアプリケーション
- 26. Twilioで通話開始時にキーを押さずにIVR Voiceを受信する方法は?
- 27. 受信者を開示せずにメールを送信する方法
- 28. Androidで受信したメールを受信する方法
- 29. N2Cms開始方法
- 30. jXchange - 開始方法
あなたはそれを検索しようとしましたか?はいの場合は、調査結果を共有できますか? – Daenarys
私は彼のソースを見てみましたが、私は見つけませんでした – oldman