問題タブ [steeltoe]
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.
c# - サービス パターンを使用するライブラリの Msoft.Practices.Unity インジェクション
おはよう、
レガシーの完全なフレームワーク (4.7) MVC アプリケーションがあります。このアプリケーションは、DI に unity を使用します。
Steeltoe.CloudFoundry.Connector.Redis nuget パッケージを利用する必要があります。ただし、このパッケージは、私が持っていない startup.cs によって想定/使用されています。
私が理解しようとしているのは、これを unity で使用して、Steeltoe redis 接続オブジェクトを DI で使用できるようにする方法です。
steeltoe プロジェクトは OSS であるため、ソースを取得して直接実装することもできますが、それを維持する必要があります。
(憶測)nugetパッケージでunityに特定のクラスを生成させることができます...
Steeltoe.CloudFoundry.Connector.Redis を使用します。.... container.Resolve(RedisCacheServiceCollectionExtensions)
他のアイデアはありますか?
ティア
.net-core - GenericHost によってホストされる .net コア コンソール アプリケーションの Cloudfoundry アクチュエータ エンドポイント
Steeltoe を使用した .net コア コンソール アプリケーションの CloudFoundry アクチュエータ エンドポイントについて質問があります。汎用ホストhttps://jmezach.github.io/2017/10/29/having-fun-with-the-.net-core-generic-host/を使用してバックグラウンド タスクを実行する予定です。いくつかのアクチュエータ エンドポイント、egHealth アクチュエータを使用したいと思います。https://github.com/SteeltoeOSS/Samples/blob/dev/Management/src/AspDotNetCore/CloudFoundry/Startup.csで WebHost のサンプルを見つけることができました。以下のコードには IApplicationBuilder が必要です
そのため、汎用ホストによってホストされるコンソール アプリケーションでアクチュエータ エンドポイントを使用することができます。どんなサンプルでも大歓迎です。前もって感謝します。
asp.net-core - .net core 2.1 を使用して IHostedService 経由で PCF でバックグラウンド タスクを実行する
.net コア 2.1 でhttps://docs.microsoft.com/en-us/dotnet/api/microsoft.extensions.hosting.ihostedservice?view=aspnetcore-2.1を使用してバックグラウンド タスクを実行したかったので、PCF でホストする必要があります。 . ローカルで実行すると、すべて正常に動作します。IHostedService の実装がスタートアップ アクティビティの後に呼び出され、https://docs.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.hosting.iapplicationlifetime.stopapplication?view= を介してアプリケーションを正常に終了できます。 aspnetcore-2.1。しかし、PCF でホストすると、以下のエラーが発生します
Startup.cs に以下のように IHostedService を登録しています
ところで、 WebHost の代わりに汎用ホストhttps://jmezach.github.io/2017/10/29/having-fun-with-the-.net-core-generic-host/を使用している場合、これは正常に機能しています。したがって、基本的には、IHostedService 実装が PCF 環境で WebHost に問題があるかどうかを知りたいと思います (ただし、ローカルでは正常に動作しています)。以下のパッケージを使用し、cflinuxfs2 スタックをターゲットにしています。私が間違っているかもしれないことを教えてください。
これが私のProgram.csです
asp.net-core - Access Service Provider Context in HystrixCommand's RunFallbackAsync
最小限のリファクタリング (または期待できる限り) で既存のログ機能を維持しながら、 Steeltoe CircuitBreakerを使用して、Hystrix CircuitBreaker パターンを既存の ASP.NET Core マイクロサービスに追加する作業を行っています。
現在、着信 HTTP リクエストは次のレイヤーを通過します。
Controller -> Service -> DerivedProvider -> AbstractProvider (and out to downstream service)
Hystrix では、次のようになりたいと思います。
Controller -> Service -> HystrixCommand<> -> DerviedProvider (via HystrixCommand's ExecuteAsync) -> AbstractProvider
多くのコンテキストがプロバイダーに保存され、コンストラクターを介してレイヤーに渡されAbstractProvider
、発信呼び出しの結果に関係なく、そのコンテキストを使用してログが記録されます。はAbstractProvider
、オプションの実行前および実行後のコールバックなど、かなりの量のカスタム ロジックもサポートしています。post コールバックは、成功しなかった応答メッセージが返されたときに呼び出されます。言うまでもなく、レイヤーを大幅に変更することは、私の現在の理解では簡単ではないように思えます。
Hystrix のドキュメントとSteeltoe CircuitBreakerのドキュメントを確認した後、HystrixCommand<>.RunFallbackAsync()
.
おそらく、その答えは、オーバーライドできるライフサイクル フックに関係しているでしょうか? のようにonFallbackStart(HystrixInvokable commandInstance
?
最終的には、これらの既存のコールバック/ロギング機能providers
をHystrixCommand
. HystrixCommand
がプロバイダーとそのコンテキストをどのように管理するか、いつ/どこでそれらにアクセスできるか、またはアクセスできないかを理解できていません。あなたが提供できる提案や方向性は非常に高く評価されます! 乾杯!