4

Webが非常に一方向の同期アーキテクチャであることを考えると、MVC4を使用するNSB対応のWebアプリケーションに何か利点はありますか?

NSBに付属するフォールトトレランスと開発のしやすさが気に入っていますが、テクノロジーはすべて一方向の非同期メッセージングに関するものなので、ユーザーが(多くの場合)気付かないようにアプリケーションを設計するにはどうすればよいですか?ポストバックが発生するまでにコマンドが完了していませんか?NServiceBusの曲率に自然に適合するようにUIを設計する際に、どのパラダイムを採用する必要がありますか?

実際、NSBは、WebサイトとそのSQLストアの間で不必要に複雑になっているようです。これは、ユーザーがブラウザーの更新が完了したときに「作業」が完了したと常に想定しているためです。私はこの点で間違っていますか?

編集:NSBサービスによって作業が行われたときに各コマンドハンドラーがイベントを公開し、ASP.NETプロジェクトのイベントハンドラーがJavaスクリプト対応ページが常に存在する「スタブファイル」を作成する他のソリューションを見てきました操作が完了したことを示すためのポーリング。これは、一方向同期プラットフォームと非同期プラットフォームの間のギャップを埋める唯一の方法ですか?

4

2 に答える 2

3

NServiceBusは、どのWebフロントエンドにも非常によく適合します。非同期メッセージ処理がUIにどのように影響するかを知っておく必要があります。ほとんどの場合、リクエストが受け入れられて処理されることをユーザーに示すだけで済みます。ただし、他の場合には、結果整合性を放棄してすぐに整合性を保つ必要があります。

たとえば、ユーザー登録の場合、通常、ユーザー名の可用性を確認してすぐにユーザーを登録しますが、ユーザーがそれを待つ必要がないように、アクティベーションメッセージを電子メールで送信するコマンドを送信します。ユーザー最終的に電子メールを受信します。そのため、電子メールが送信され、メールが5分以内に送信される場合でも、アクティベーションリンクをクリックする必要があることを示すメッセージが表示されます。

もう1つの例は、ユーザーがさまざまなドキュメント形式をTIFFに変換できるアプリケーションです。リクエストが送信され、Webフロントエンドがポーリングして変換の結果を待機してから、変換されたページを表示します。

したがって、UI/UXの動作に影響を与えます。それは間違いなくまだ有用であり、場合によってはあなたの人生をずっと楽にしてくれます。

私の場合、FOSSシャトルサービスバスを使用しました:http ://shuttle.codeplex.com/ ---とにかく、概念は適用されます。

于 2013-01-03T06:15:40.637 に答える
3

NServiceBusには、一般的なMVC Webアプリケーションへのフックがあり、バスを介して応答が到着するまでユーザーのポストバックを待機させることができます。それがどのように行われるかを確認するには、AsyncPagesサンプルを参照してください。

于 2013-01-03T12:00:59.767 に答える