問題タブ [azure-appservice]
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.
azure - Azure appservice コンテナーが HTTPS スキームを取得しない
index.cshtmlページにHTTPRequestを出力する単純なasp.netコア3.1アプリがあります。アプリをコンテナー化し、Azure appservice で実行しています。
私が所有していないコードがたくさんあります。たとえば、リダイレクト URL を構築するために HTTPRequest.Scheme に依存している Microsoft OIDC のものです。元のリクエスト URL は次のように見えますが、コンテナー化されたアプリに送られるリクエストは HTTP です。
アプリが HTTPRequest にあると考えているものを出力すると、次のようになります。
言うまでもなく、OIDC スタッフが redirectUrl を作成するとき、それは HTTP スキームであり、これは間違っています。
「HTTPS のみ」をオンにできる「App Services」の TLS/SSL 設定があります。これは効果がありません。
適切なスキームがコンテナに渡されるようにする設定がありませんか?
azure - Azure App Service と .NET Core 3.1 で長時間実行される計算に適したソリューションはありますか?
データベースを必要とせず、このアプリケーションの外部への IO がないアプリケーションで、Azure App Service と .NET Core 3.1 で長時間実行される計算に適したソリューションはどれですか? 計算作業です。
具体的には、以下は信頼性が低く、解決策が必要です。
これにより、null オブジェクトが に返されることがありますHttpClient
(表示されていません)。より小さなワークロードは常に成功します。たとえば、30 億回の反復は常に成功します。2,400億が必要です。
2020 年には、.NET Core を使用した Azure App Service の合理的な目標は、8 つの子スレッドを使用して親スレッドの数を 2,400 億にすることであると思います。これにより、各子は 300 億になり、親は 8 M バイトを分割します。インバウンド オブジェクトを、各子にインバウンドする小さなオブジェクトに変換します。各子は 1M バイトのインバウンドを受け取り、親に 1M バイトのアウトバウンドを返します。親は、結果を 8 M バイトのアウトバウンドに再アセンブルします。
明らかに、経過時間は 12.5%、つまり 1/8、つまりシングル スレッドの実装に必要な時間の 1/8 になります。オブジェクトを切断して再組み立てする時間は、計算時間に比べてわずかです。オブジェクトを送信する時間は計算時間に比べて非常に短いと想定しているため、12.5% の期待値はおおよそ正確です。
4つか8つのコアを手に入れることができれば、それは良いことです. コアのサイクルの 50% を提供するスレッドを取得できる場合、8 または 16 スレッドが必要になる可能性があります。各スレッドがコアのサイクルの 33% を提供する場合、12 または 24 のスレッドが必要になります。
クラスを検討してBackgroundService
いますが、これが正しいアプローチであるという確認を探しています。マイクロソフトは言う...
明らかに、何かが長時間実行されている場合は、経由で複数のコアを使用してより早く終了させる方がよいでしょうがSystem.Threading
、このドキュメントSystem.Threading
では、経由でタスクを開始するコンテキストでのみ言及しているようSystem.Threading.Timer
です。私のコード例は、アプリケーションにタイマーが必要ないことを示しています。HTTP POST は、作業を行う機会として機能します。通常System.Threading.Thread
、複数のコアを使用するために複数のオブジェクトをインスタンス化するために使用します。複数のコアについて言及されていないことは、時間がかかる作業のソリューションのコンテキストでは明らかな省略であると思いますが、Azure App Service がこの問題に対処しない何らかの理由がある可能性があります。おそらく、チュートリアルやドキュメントで見つけることができないだけです。
タスクの開始は、図示された HTTP POST コントローラーです。最長のジョブに 10 分かかるとします。HTTP クライアント (図示されていません) は、タイムアウト制限を 10 分 (600 秒) よりもはるかに長い 1000 秒に設定して、安全マージンを確保します。HttpClient.Timeout
該当するプロパティです。現時点では、HTTP タイムアウトが実際の制限であると推測しています。ユーザーが 9 分間待機してエラー メッセージが表示されるような、何らかの拘束力のない (偽の制限) ではありません。実際のバインド制限は、「このタイムアウトでは成功しただろう」と言える制限です。HTTP タイムアウトが実際のバインド制限ではなく、システムを制約する何かがある場合は、代わりに 3 つの POST メソッドを使用するように HTTP コントローラーを調整できます。したがって、POST1 は受信オブジェクトでタスクを開始することを意味します。POST2 は、完了したら教えてくださいという意味です。POST3 は、アウトバウンド オブジェクトを渡すことを意味します。
データベースを必要とせず、このアプリケーションの外部への IO がないアプリケーションで、Azure App Service と .NET Core 3.1 で長時間実行される計算に適したソリューションはどれですか? 計算作業です。
azure - Azure アプリ サービス アプリケーションの Cookie バナーを実装する
異なる名前の複数の (Web アプリ) アプリ サービスが実行されている 1 つの Azure アプリ サービスがあります。
すでに実装されている Cookie バナーを変更する必要があります。「....」と書かれています</p>
ウェブサイトの読み込み時にバナーが表示されます。ブラウザから、「F12」を実行すると、テキストがどこに書かれているのかがわかります。しかし、Visual Studio からソース コードを確認すると、テキストが見つかりません (つまり、「Index.cshtml」ページから「Check in」コードです)。ソリューション全体でもテキストを検索しました。
さまざまなアプリケーションの「Index.cshtml」ページの読み込みで表示されるように、App Services のどこかに実装されていますか? または、何か不足していますか?
以前のオンプレミス アプリケーションのように、コード自体に実装する必要があることに注意してください。なぜ私はこれを見つけることができないのですか?
助けてください。ありがとう。