. .NETは単純な中間パターン実装であり、他の外部依存関係のないプロセス中のメッセージング機構です。 リクエスト/レスポンス、コマンド、クエリ、通知、イベントのメッセージングを同期または非同期形式でサポートし、C#ジェネリックを通じたメッセージのインテリジェントスケジューリングもサポートします。
まず、新しい asp.net Core 3.1プロジェクトを作成します。
NuGetインストール:
サービスを登録するには、StartupファイルのConfigureServicesメソッドで以下を追加してください:
リクエスト/レスポンスモード
リクエスト応答パターンはhttpリクエストの質問と回答パターンに似ていますが、MediatRパターンではリクエスターは応答者が誰であるかを気にせず、レスポンダーもリクエスターが誰であるかに注意を払う必要がない点が違います。
以下のコードで新しいPingHandler.csファイルを作成します:
コントローラーで呼び出してみたところ、コードは以下の通りです:
プロジェクトを開始するには、以下をご覧ください:ハイパーリンクのログインが見えます。コンソールで出力したログは以下の通りです:
通知モード
このモードは実際には購読を発行するものであり、購読者は出版社が誰かに注意を払う必要がなく、出版社も購読者が誰かに気を取る必要がありません。
以下のコードで新しいUserInfoクラスを作成します:
新しいSendEmailクラスを作成し、ユーザーの情報を購読し、メッセージを受け取った後にユーザーにメールを送信します。コードは以下の通りです:
新しいInsertDatabaseクラスを作成し、メッセージを受け取った後、以下のコードでユーザー情報をデータベースに保存します。
UserInfoからコントローラー経由でメッセージを送信しようとしますが、コードは以下の通りです。
ぜひ訪れてみてください:ハイパーリンクのログインが見えます。は、両方の手法が私たちから次のようなメッセージを受け取っていることを発見しました。
参考文献:ハイパーリンクのログインが見えます。
最後にソースコードを添付します:
観光客の皆さん、この投稿の隠された内容を見たい方は、どうぞ 答える
|