2016-05-10 7 views
0

データベースには実行時に何らかの順序で呼び出されるメソッド名があるシナリオがあります。リフレクションはここでは最高の選択だと思いますか?リフレクションを使用してWebアプリケーションのメソッドを呼び出すことは正しいですか

DBテーブルは、特定のポイントで呼び出されるメソッドのロジックを保持します。メソッドが異なる複数のクラスが存在するためです。クエリに基づいて、呼び出されるクラス名とメソッド名を取得します。

私はフロントエンド/ .Netコードの背後にあるWebアプリケーションのリフレクションを使用することにほとんど関心がありません。

これらの呼び出しをバックグラウンドサービス/ WCFサービスに移動する方が良いですか?

私は利用可能なさまざまなオプションを探しています。

+2

詳細をお知らせください。 (3-4メソッドの例)達成しようとしていることは完全にはっきりしていませんか? – Alexei

+1

彼は、データベースにメソッド名が文字列として格納されていると考えています... –

+1

これ以外にどのようにしてリフレクションをしますか? –

答えて

1

電話から送信!

  1. 閉鎖操作の場合は、列挙とスイッチケースを使用することをお勧めします。

    3.1:あなたはカント場合は、...完全な反射を避けることができれば、いくつかの並べ替え

  2. のインジェクション攻撃を避けるために、ユーザ入力への近接性を持っているものに

  3. 避け反射。データベースの値を確認してください。

    3.2。サンドボックス内でメソッドを実行し、唯一の結果を得ることを検討してください。

P.S.ほとんどの場合、複雑なソリューションについて考えるときには、簡単な解決策があります。このソリューションについて考えていた問題を再検討することをお勧めします。

2

動的なメソッド呼び出しのためにアプリケーション層を柔軟に保つことがリフレクションの目的である場合は、意味があります。

非機能要件のすべてが満たされるわけではないことに注意してください。&いくつかのアーキテクチャ上の原則は互いに矛盾しています。この場合、のパフォーマンス&の柔軟性はこのような2つの極端なものであり、柔軟性がパフォーマンスに影響します。 、戻ってあなたのシナリオに来る

は、勧告は反射が必要とされる理由に特定のことであり、それは絶対的な必要があります(それが不必要に複雑にしない)であれば、あなたはキャッシュ反射呼び出しのような他の戦略を考える必要がありますパフォーマンスの影響が最小限に抑えられるように、などキャッシュ応答。

関連する問題