問題タブ [kestrel-http-server]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net - http サーバーの責任と、このサーバーを使用してホストされる Web アプリの責任
ASP.NET Core アプリケーションのさまざまなホスティング オプションを評価しています。ASP.NET の新しいプログラミング モデルでは、リクエストを一連のミドルウェア (古いIHttpModule
&の混合物IHttpHandler
) で処理します。
認証、静的ファイルの処理、または送信前の応答の圧縮を担当できるミドルウェアを使用できます (いくつか例を挙げると)。ここで混乱が生じます。
責任のコンテキストでサーバーとアプリの境界をどこに設定するか?
応答を圧縮するのはどちらの側ですか? IIS では、これはサーバーによって処理され、web.config で構成されていました。Kestrel はこの機能を提供していないため、これを処理するカスタム ミドルウェアをアプリに実装する必要があります。どちらがより適切ですか?
認証はどうですか?IIS は、認証 (匿名、偽装、フォーム認証) の設定を提供します。反対に、ASP.NET Core では、これを処理できるアプリ ミドルウェアを作成することもできます。
わかりました。SSLはサーバーによって処理されます。これは、プロトコル層の下にあり、アプリが HTTP(S) でのみ動作するためです。
サーバーにはどのような責任がありますか? アプリにはどのような責任がありますか?
asp.net - ASP.NET 5 で IISExpress と webapi にベース パスを設定する
通常とは異なるベース パスで WebAPI プロジェクトを動作させる必要があります。WebAPI と ASP.NET 5 を使用する Visual Studio で簡単なプロジェクトを作成しました。
ベース パスをhttp://localhost:38170/に設定すると、プロジェクトは正常に動作し、テスト コントローラー ( http://localhost:38170/api/values ) から値を取得できます。この段階で、IIS Express の構成は次のとおりです。
必要に応じて、プロジェクトのプロパティでアプリの URL を変更してみました: http://localhost:38170/xxx
プロジェクトを実行してhttp://localhost:38170/xxx/api/valuesを押すと、結果は 404 になります。 http://localhost:38170/api/valuesを試すと、コントローラーから値が返されます。Visual Studio での変更が IIS Express 構成に反映されていないことに気付きました (そうすべきかどうかはわかりません...)。
このスレッドのように、IISExpress のパスを手動で変更しようとしました: IIS Express で仮想ディレクトリを作成しています。
結果は次のとおりです。
http://localhost:38170/api/values - 500.19 エラー (構成エラー) ですが、それはかなり問題ありません - これが動作する予定はありません
http://localhost:38170/xxx/api/values - 502.3 - httpPlatformHandler をヒットした際の不正なゲートウェイ
エラーは httpPlatformHandler 構成のどこかにあると思いますが、IIS Express と組み合わせて行う方法がわかりません。私のweb.configは次のとおりです。
パス属性の変更などのランダムな変更を試みましxxx/*
たが、何も機能しません。
編集:質問を明確にするために。
httpPlatformHandler と Kestrel を使用して IISExpress 上の ASP.NET 5 (ASP.NET Core) で WebAPI をセットアップし、ルート以外のベース パスを設定する方法。
curl - Kestrel AspNet5 の Nginx プロキシの実行
Nginx サーバーを実行してリクエストを Kestrel にプロキシする際に問題が発生しています。Kestrel では、レスポンスが比較的速く返ってくるのを確認できます。Nginx が何らかの理由でタイムアウトになるまで応答を返すのを待ちます。
ここに私のプロキシ設定があります:
ngic.conf:
ポート 5000 でアプリケーションを実行するために、デフォルトの引数で kestrel を実行します。
192.168.163.143 でブラウザから要求されるようにすると、タイムアウトするまで json が返されません。
私は自分のエンドポイントをカールしようとしましたが、私が見つけたものは次のとおりです:直接Kestrel呼び出しはデータのバッチ全体を一度に返しますが、Nginx呼び出しはjsonの一部を返し、スタックします...
何か案が?
asp.net-core - エミュレーターからリクエストを送信するときの Kestrel エラー
Fiddler 経由で Kestrel にリクエストを行うと、次のリクエストが成功します。
NETMF エミュレーターを介して要求を行うと、次の要求は失敗します。
これは ASP.NET Core エラー メッセージです。エラーはロギングに関するものと思われます。
これは、ASP.NET Core プログラム全体です。
asp.net - Kestrel とは (vs IIS / Express)
kestrel Web サーバーとは何ですか? また、IIS / IIS Express とどのように関係していますか?
私は、IIS Express でアプリを開発し、IIS Web サーバーでそれらをホストしていました。ASP.NET Core には依存関係がMicrosoft.AspNetCore.Server.Kestrel
あり、スタートアップには.UseServer("Microsoft.AspNetCore.Server.Kestrel")
. しかし、Web サイトを実行すると、システム トレイに IIS Express アイコンが表示されます。IIS Express と Kestrel のどちらを使用しているかを尋ねられましたが、何と答えたらよいかわかりませんでした。
私は PC で開発し、Azure でホストしているため、クロスプラットフォームの要件はありません。そのため、Kestrel を使用するかどうかはneed
わかりませんが、代替手段はないようです。最も単純なサンプルでも Kestrel を使用しています。
asp.net-core - dotnet コアで kestrel を使用する場合の「サーバー名」の設定
asp.net mvc
現在、Microsoft のkestrel
サーバーに対して実行されるアプリを作成しています。hosting.json
正常に動作し、次のように定義されたファイルを使用して、起動時に値を渡します。
「サーバー」に名前を付けて、常に報告しないようにする方法はありますlocalhost
かundefined
?
asp.net - Asp.Net Core 1.0 (別名 Asp.Net 5) の Web サイトはファイルの変更で更新されますか?
Nodeアプリケーションがファイルの変更でブラウザを自動リロードするためのbrowsersyncのような同様の機能を探しています。
dnx-watch を使用して Asp.Net Core (別名 Asp.net 5) を実行すると、C# コードを変更して Kestrel Web サーバーを再起動しますが、クライアントまたはサーバー ファイルが変更されたかどうかを確認するには、ブラウザーを手動で更新する必要があります。ビルド パイプラインに Gulp を使用し、それを使用して dnx-watch とブラウザーのリロードの両方を実行することを考えていますが、オンラインで例を見つけることができません。
これについて何か助けていただければ幸いです。
ありがとう