問題タブ [agatha-rrsl]
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.
service - Agatha 用の単一の汎用ハンドラーを作成しますか?
私はプロトタイピング中のサービス レイヤーに Agatha 要求/応答ライブラリ (および Agatha 1.0.5.0 で使用されている StructureMap) を使用しています。 . 一般に、要求/応答タイプのペアには独自のハンドラーが必要であることは理にかなっています。ただし、これは大規模なエンタープライズ環境にスケーリングされるため、大量のハンドラーになります。
私が始めたのは、エンタープライズ ドメインを論理的なプロセッサ クラス (数百、場合によっては数千のハンドラではなく、数十のプロセッサ) に分割することです。規則では、各リクエスト/レスポンス タイプ (すべて、Agatha から継承したドメイン ベースのリクエスト/レスポンス ペアから継承) は、どこかのプロセッサで正確に 1 つの関数を取得します。
汎用ハンドラー (Agatha の RequestHandler から継承) は、Handle メソッドでリフレクションを使用して、指定された TREQUEST/TRESPONSE のメソッドを検索し、それを呼び出します。見つからない場合、または複数見つかった場合は、エラー メッセージを含む TRESPONSE を返します (メッセージはドメインの基本応答クラスで標準化されています)。
ここでの目標は、企業全体の開発者が、ドメイン内の要求/応答タイプとプロセッサ関数を記述することに専念できるようにし、まったく同じことを行うハンドラー クラスを作成する追加のオーバーヘッドを費やす必要がないようにすることです (制御をプロセッサー機能)。
ただし、要求/応答タイプのペアごとにハンドラー クラスを定義する必要があるようです (ベース ハンドラーがすべてを処理するため、空ではありますが)。それ以外の場合、リクエストをサービスにディスパッチするときに次の例外がスローされます。
StructureMap 例外コード: 202 PluginFamily Agatha.ServiceLayer.IRequestHandler`1 に対して定義されたデフォルト インスタンスがありません]、Agatha.ServiceLayer、バージョン = 1.0.5.0、文化 = ニュートラル、PublicKeyToken = 6f21cf452a4ffa13
StructureMap や Agatha に、すべてのリクエスト/レスポンス タイプのペアに対して常に基本ハンドラ クラスを使用するように指示する方法はありますか? それとも、Reflection.Emit を使用して、要件を満たすためだけに、アプリケーションの開始時にメモリ内に空のハンドラーを生成するのでしょうか?
私はこれらのライブラリに 100% 精通しているわけではなく、学習しながら学んでいますが、これまでのところ、これらの可能なアプローチの両方を試してみましたが、うまくいきませんでした。誰かがこれを解決するためのアドバイスを提供できますか、それとも完全に別のアプローチを提供できますか?
javascript - JavaScript で MooTools JSONP 出力を繰り返す
私は、Agatha と呼ばれる .NET WCF 要求/応答フレームワークを試してきました。彼らが持っている例の 1 つは、MooTools を使用して JSONP 拡張機能を呼び出し、ASP.NET MVC アプリのページ内に結果を表示することです。
顧客のコレクションを返す (AdventureWorks db から) 作成したサービスを呼び出すために、単一の文字列を返す例を採用しました。
私は一般的にJavaScriptの経験がほとんどなく、サービスから出力を取得する関数の作成に行き詰まっています:
そして、結果をページに出力できるように、それを繰り返し処理できるようにします。誰かが私を正しい方向に向けることができますか?
wcf - AgathaWCFの汎用DataContract
さまざまなオブジェクトのコレクションに複数の型を実装する必要がないように、GenericDataContractクラスを使用しようとしています。
Exp:
オブジェクトのコレクションを含むProfileオブジェクトがあります。
そのため、プロファイルにFooまたはFoo1オブジェクトのコレクションが含まれているものがProfile<Foo>
必要Profile<Foo1>
です。
WCFはジェネリッククラスをサポートしていないことを読んでいますが、実際に発生するエラーは次のとおりです。
Type 'GL.RequestResponse.ProfileResponse
1 [T]'はオープンジェネリック型であるため、スキーマ型としてエクスポートできません。ジェネリック型は、すべてのジェネリックパラメータ型が実際の型である場合にのみエクスポートできます。
これで、ProfileResponseは、私が使用しようとしているこのProfileオブジェクトです。
今私のホストで私は次のことをしています。:
これは、データコントラクトを使用したハンドラーの定義です。
コンテナはWindsorContainerを使用してオブジェクトを登録しています。
登録は正常に機能しますが、WCFプロセッサのサービスホストをインスタンス化し、ホストのOpen Methodを呼び出すと、上記のエラーが発生します。
agathaを使用してwcfの一般的な応答要求を作成する方法は本当にありませんか?そのコレクションに含まれるタイプごとにProfileコンテナークラスを定義する必要があるのは、このような無駄のように感じます。
ありがとう。
wcf - agatha の一般的なリクエスト
なぜ私がこれを行うことができないのか誰かが知っていますか?
Agatha が一般的な Request のタイプを把握できないのはなぜですか。そこで定義されています。?
タイプ 'GL.RequestResponse.CommandRequest`1[T]' は、オープン ジェネリック タイプであるため、スキーマ タイプとしてエクスポートできません。すべてのジェネリック パラメータ タイプが実際のタイプである場合にのみ、ジェネリック タイプをエクスポートできます。
これを行う方法のアイデア。操作の種類ごとにリクエスト オブジェクトを作成する必要があるのは、非常に制限的だと感じます。
testing - ダッパー。IoC、テスト、アガサ
MVC 3 プロジェクトでは、EF4、IoC、および Agatha-RRSL をサービス レイヤーとして使用しています。
幸いなことに、今週私は Dapper を見つけ、EF4 から Dapper に移行しています!
通常、私は Agatha Request Handlers に Generic Repository を挿入します ...
しかし、どのように Dapper を使用すればよいでしょうか?
1) Agatha Handler に IDbConnection を挿入する必要がありますか? 次に、ハンドラー内で、Dapper Query または Dapper Execute で使用しますか? これはテスト可能ですか?そして、嘲笑についてはどうですか?
2) Dapper 用の汎用リポジトリを作成する必要がありますか? おそらく、リポジトリは次のようになります。
IDbConnection がここに挿入されます。
そして、リポジトリはハンドラー内に挿入されます。
これをテストする方法がわからない...
3) すべてのコードをハンドラー内に配置する必要がありますか?
しかし、テストはどうですか?
4) Dapper が静的メソッドを使用していることに気づきました。これはいくつかのメモリの問題を引き起こしませんか?
たくさんの質問をして申し訳ありません...私はこれを正しくしようとしています。
ありがとう、ミゲル
wcf - WCF サービス ライブラリ アガサ初期化コンテナー
Agatha RRSL を使用する WCF サービス ライブラリを開発しましたが、コンテナーを初期化する方法がわかりません。ASP.NET Web アプリケーションでこのサービスを再作成すると、Global.asax.cs Application_Start() から初期化コードを呼び出すことができ、すべてが完全に機能します。初期化コードは次のとおりです。
WCF サービス ライブラリに、次を呼び出すクラスを含む App_Code フォルダーを追加しました。
クライアントアプリがそのタイプの応答がないという例外をスローするため、それは機能しませんでした。また、コンポーネントを web.config ファイルに追加しようとしましたが、それが機能することさえありませんでした。
また、初期化を行うカスタム ServiceHost を作成しようとしました。
ただし、クライアントで同じ例外が発生します。
ホストが正しい型を返すように、WCF サービス ライブラリで初期化コードを実行するには、どのような方法をとればよいですか? どんなガイダンスでも大歓迎です。ありがとう。
structuremap - Agatha RRSL と StructureMap 3.0
Agatha の IoC コンテナーへの StructureMap 3.0 ラッパーの実装で Agatha RRSL を使用したいと考えています。Agatha には、私が気に入らない StructureMap 2.6 の NuGet パッケージがあります。
まず、Agatha.StructureMapソース コードからコードをコピーして貼り付け、 3.0 StructureMap を使用するように変更を加えました。
私が今抱えている問題は、StructureMapExceptionが発生することです
これは、コンストラクター StructureMap が使用する必要があると考えているように見えますが、適切に構成されていないビューは、複数のパラメーターを持つビューです。実際には、パラメーターなしのコンストラクターを使用する必要があります。
ただし、コンストラクターを適切に構成したと思います。RequestProcessorProxy のパラメーターなしのコンストラクターを構成するために使用するコードを次に示します。
何がうまくいかなかったのでしょうか?
私は StructureMap と Agatha の両方に慣れていないので、上記の一部またはすべてを誤解している可能性があります...