1

しばらくの間、ASP.NET を使用して Web サイトを構築しています。最初は、ASP.NET プロバイダー モデルの複雑さを学ぶことを避けていました。代わりに、必要に応じて既製のプロバイダーを使用し、他のすべてのニーズについては依存性注入フレームワークに大きく依存しました。

しかし最近では、ASP.NET 用のプラグ可能なコンポーネントを作成しており、もちろん、それを実現するために多くのカスタム プロバイダー ベースのソリューションを作成しています。しかし、多くの初期化コードが重複していることがすぐに明らかになりました。これは悪いことです。

そう...

  1. 構成のスパゲッティ コードを回避する方法について明らかになったベスト プラクティスはありますか?
  2. カスタム プロバイダーの構築が容易になるように、基本的な初期化コードを抽象化して共有するためのサンプル (基本/ヘルパー クラス、カスタム属性、リフレクション) を構築したことがありますか?

ノート:

Provider Toolkitサイトに私を送らないでください。私はすでにそのリソースを使い果たしたので、SOコミュニティに目を向けています:)

4

1 に答える 1

0

メンバーシップとロール プロバイダーのかなり基本的な実装の大まかな実装を行っただけで、コードの重複はまったくありません。

すべてを 3 つのプロジェクト (およびテスト) に分割しました。

  • アプリケーション - asp.net mvc アプリ。モデル、コントローラーなど
  • インフラストラクチャ - IoC とインターフェイス
  • Infrastructure.Web - プロバイダー

ユーザーとロールのモデルは、インフラストラクチャからインターフェイスを実装し、それらのクラスはアプリケーションの起動時に IoC に登録されます。次に、プロバイダーは IoC にクラスを解決するように要求し、それを実行します。このようにして、同じプロバイダーを使用しながら、モデルとユーザー インターフェイスに何かを追加できます。私が気づいた 1 つの問題は、セットアップが Application_Start で行われ、「ASP.NET 構成」が別の Web であるため、「ASP.NET 構成」ボタンによって起動される Web がプロバイダーを使用できないことです。 . 私はこれを問題とは見ていません。

于 2009-08-22T20:46:42.100 に答える