この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 80854|答える: 10

[.NET Core] ASP.NET CoreはAutofacを使ってAOP傍受を実装しています

[リンクをコピー]
掲載地 2019/05/08 15:09:15 | | | |
ASP.NET Core依存注入は付属するIOCコンテナを使用します
https://www.itsvse.com/thread-7562-1-1.html
(出典:Architect_Programmer)

ASP.NET CoreはAutofacを使ってIOC注入を実装しています
https://www.itsvse.com/thread-7563-1-1.html
(出典:Architect_Programmer)

ASP.NET CoreはAutofacを使ってAOP傍受を実装しています
https://www.itsvse.com/thread-7566-1-1.html
(出典:Architect_Programmer)

本記事では主に、置き換えられたAutofacを使って ASP.NET CoreでAOP傍受を実装する方法を詳細に説明します。

アスペクト指向プログラミング(AOP)は注目されているトピックです。 AOPの主な目的は、ビジネス処理プロセスにおいて、特定のステップや段階で直面するカット・トゥ・フェイスを抽出し、論理プロセスの各部品間の低結合という孤立効果を得ることです。

クラスライブラリの導入

nugetコマンドは以下の通りです:


AutofacはAOPの実装に使われます

まず、以下のコードでインターセプトクラスを作成します。

ここでは、IInterceptorを継承し、そのインターセプト手法を実装する必要があります: 私たちは傍受したコンテンツを直接デバッグウィンドウに出力します(公式プロジェクト: インターセプトの運用は事業に応じて行ってください:

ここではILoggerを使って操作を記録しています。以下のように。

ASP.NET Core ILogger ログの利用チュートリアル
https://www.itsvse.com/thread-7565-1-1.html
(出典:Architect_Programmer)

傍受したいサービス、TestService1とTestService2を見つけ、2つの方法で行います。

TestService1:特徴に傍受された
TestService2構成によるインターセプト

コードは以下の通りです:

起動編集メソッドのConfigureServicesでは、TestService2サービスを以下のように設定してブロックします。

重要なコードは以下の通りです:

ここで注ぎたいのは、注入したサービスの後に追加しなければならないということですEnableInterfaceInterceptorsインターセプトをオンにするために

コントローラーコードは以下の通りです:

dotnet runコマンドでプロジェクトを開始し、URLにアクセスすると、コンソール出力ログは以下の通りです:



AOPがインターセプトした返送値はウェブページに返されるものと同じであることが判明し、AutofacでのAOPインターセプトは完了しました。

(終わり)




先の:ASP.NET Core ILogger ログの利用チュートリアル
次に:Djangoエンタープライズ開発 効率的なPythonウェブフレームワークの実践ガイド 著者 Hu Yang
掲載地 2019/05/09 8:18:56 |
インスタンスのソースコードを持っているのが最善です
 地主| 掲載地 2019/05/09 9:11:27 |
夏 2019-5-9 08:18 投稿
インスタンスのソースコードを持っているのが最善です

プロジェクトには機密情報が含まれているため送りませんし、チュートリアルもすでに非常に詳細です
掲載地 2019/05/09 11:15:17 |
掲載地 2019/05/14 16:39:00 |
学んだ、
掲載地 2021/11/22 14:24:55 |
AOPを学びましょう
掲載地 2021/12/17 14:20:20 |
共有してくれてありがとう、学びましょう
掲載地 2021/12/17 14:21:41 |
これを実装するための枠組みはありますか? オーナーが自分でコードを書いているのですか? 他に質の高い返答があるでしょうか...
掲載地 2021/12/24 16:23:00 |
書くのは本当に素晴らしいことだと学びました
掲載地 2022/01/10 11:12:24 |
学ぶために
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com