問題タブ [provider-model]
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.
c# - .netのプロバイダーモデル
.net 2.0フレームワークが最初に登場したとき、プロバイダーモデルは大流行していました。2.0には、多数のデフォルトプロバイダー(メンバーシップ、サイトマップ、ロール)が付属しています。2.0のリリース以来、誇大広告はなくなり、私はまだプロバイダーを日々使用していますが、報道ははるかに少ないようです。
これは、人々がプロバイダー以外のものを使用していて、それらが取って代わられているためなのか、それとも単に他のIoCメソッドほどテイクが大きくなかったためなのか疑問に思いました。
unit-testing - ASP.NET プロバイダー モデルを使用して記述されたコードの統合テストを行うにはどうすればよいですか?
私はユニットテストにかなり慣れていません。UI -> BLL -> DAL の 3 層アーキテクチャで構築されたサイトがあります。また、asp.net プロバイダー モデルを使用したので、web.config を変更することで、DAL dll に切り替えてさまざまなデータ ソースをターゲットにすることができます。DAL は Entity Framework で作成されます。
さて、私の質問は、BLL を単体テストするにはどうすればよいですか? NUnitを使用しています。
私のサイトを実行/デバッグする場合、asp.net/IIS はすべてをロードし、web.config から正しい構成を取得します。これは、エントリ ポイントが IIS からのものであるためです。ここで、NUnit gui を使用してテストし、BLL に対するテスト ケースを含むテスト プロジェクト "MySite.Test.dll" があるとします。テスト フレームワークは、すべてのテストを正常に実行するための正しい構成をどのように取得しますか。正しいプロバイダーをロードするには、web.config の情報が必要です。
現在、私の DAL には、EntityFramework によって作成された App.config があり、その中には connectionString だけがあります。この app.config にすべてのプロバイダー関連の構成を配置する必要がありますか? または、これを正しく行う方法の全体像が欠けていますか?
これは、人々が常に行う必要があると私が想像する一般的なことです。ライブラリを単体テストする方法について、誰かが詳細を教えてください。
ありがとう、レイ。
編集: 最初の 2 つの回答を読んだ後、統合テストで説明を修正する必要があると思います。基本的に、IIS をエントリ ポイントとして使用する代わりに、NUnit などの GUI ツールを使用してコードを実行およびテストします。つまり、NUnit -> BLL -> DAL です。人々は実際にどのようにそれを設定しますか?
ありがとう、レイ。
design-patterns - Provider Model は Factory パターンを使用していますか?
Provider Model は本当に単なる Factory パターンですか?
c# - プロバイダーモデルとパフォーマンス
プロバイダーパターンの使用にパフォーマンスへの影響はありますか?
インスタンス化ごとにリフレクションに依存していますか?
asp.net - 単一 DB ASP.NET サイトをマルチテナントに変換 - メンバーシップとロールのジレンマ
私は、単一の SQL DB Web サイト (ASP.NET/VB.NET) を、各クライアントが独自のデータベースを持つマルチテナント アプリに変更しようとしています。
古いサイトでは、すべての ASP ロール、ログイン、およびプロバイダーが単一のデータベースを指していました。
現在、複数のデータベースがあります。使用するのに最適なアーキテクチャ/手法は何だろうと思っています。会社名、さまざまな設定 (通常は web.config にあります)、テナント データベースへの接続文字列など、テナントを構成する 1 つのデータベースがあります。
テナントを構成する単一のデータベースにすべてのメンバーシップとロールを含める必要がありますか?それとも、個々のテナント データベースにメンバーシップとロールを含める必要がありますか? ASP.NET は、web.config で定義された RoleProviders の 1 つのセットしか好まないと思うので、オプション 2 はややこしいようです。
誰かがこれを以前に試したことがありますか、または何か推奨事項がありますか?
design-patterns - リポジトリ パターンは Asp.net プロバイダー モデルと同じですか?
Asp.net 2.0 以降、プロバイダー モデルがあります。実装の詳細については、プロバイダーは、インターフェイスではなく抽象クラスである ProviderBase から派生したクラスですが、とにかくプロバイダー モデルが存在するため、web.config を編集するだけで別の実装をスワップインすることができます。たとえば、ブログ アプリを作成する場合、BlogProvider : ProviderBase を作成すると、SqlBlogProvider、OracleBlogProvider、テスト用の MockBlogProvider などの BlogProvider の実装を作成できます。
現在、Repository Pattern が人気を博しており、同じニーズを満たすためだと思いますが、実装の詳細では、通常はインターフェイスを使用するため、IBlogProvider を使用し、プロパティではなくコンストラクターを介してさまざまな実装を注入しますが、基本的にはそうしません。これら 2 つのパターンが私たちに与えたものの違いはわかりません。
個人的にはプロバイダーモデルの方が実装は自然だと思います。それで、それらの間に違いはありますか、それとも異なるコミュニティによって付けられた異なる名前を持つ同じものですか?
これについてコメントをいただければ幸いです、ありがとう、レイ。
winforms - 誰かがwinformsアプリで.NETプロバイダーモデルを使用できましたか?
ASP.NETの例はたくさん見ましたが、winformの例はありません。つまり、web.configの代わりにapp.configを使用します。それがうまくいかなかったらそれは残念だろう。
asp.net-mvc-3 - ASP.Net MVC 3 のプロバイダー モデル -- SQL Server 2008 R2 Dev Ed を使用、デフォルトの SQLExpress ではありません
私は現在、MS ASP.Net Web サイト (MvcMusicStore) で ASP.Net MVC 3 チュートリアルに取り組んでいます。私はデータベース ファースト アプローチを使用しており、チュートリアルで使用されている新しい EF 4.1 コード ファースト アプローチを使用する代わりに、Entity Framework を介して個別に作成されたデータベースにアクセスするようにチュートリアルを正常に変更しました。ローカル マシンで SQL Server 2008 R2 Developer Edition を使用しています。
チュートリアルは、空の MVC Web サイトから始まります。このチュートリアルでは、ユーザー名とパスワードの登録を行う SQL プロバイダーの Web サイトを構成する方法について説明します。プロバイダーを機能させることができませんでした。私は実際に、アカウント コントローラーを使用して別の MVC Web サイトを作成し、それを介してプロバイダーを登録しようとしましたが (コードの変更はありません)、同じ問題が発生しました。明らかに、この 2 番目のプロジェクトから Web 構成ファイルの関連部分を切り取って空のチュートリアルに貼り付けても、問題は解決しませんでした。aspnet_regsql を使用して、SQL Server に aspnetdb を登録および作成できました。しかし、それを構成またはアクセスしようとする私の試みはうまくいきませんでした。aspnet_regsql -A all -E を試してみましたが、エラー メッセージが表示されます。ASPを使ってプロバイダを選択してみました。
誰でも問題の解決策を教えてもらえますか? それは単に接続文字列ですか?私は何が欠けていますか?
asp.net-mvc - IOC も使用する場合、ASP.NET プロバイダー モデルの最良の代替手段は何ですか?
ASP.NET プロバイダー モデルは、ある機能の個別の実装を Web アプリケーションに "プラグイン" できるという問題を解決する優れたテクノロジでした。プロバイダー モデルは一般に、構成を必要とする実装が少し面倒なので、最小限に抑えます。
IOC は、アプリケーションの各レベルで懸念事項を確実に分離する優れた方法であるため、すべてのコンポーネントの単体テストをサポートするために広く使用することをお勧めします。
Web アプリケーションが IOC コンテナーを使用している場合、プロバイダー モデルも使用するのは間違っているようです。なぜなら、既に抽象化されているものを抽象化して、2 つのレベルの複雑さを生み出しているように見えるからです (おそらく既存のプロバイダーを除いて - 私が話していることです)。カスタム プロバイダーの作成)。
(詳細については、私のブログ投稿を参照してください: http://healthedev.blogspot.com/2011/12/making-custom-built-applications.html )
私は IOC に AutoFac を使用しており、「構成のオーバーライド」を許可することが可能であるため、プロバイダー モデルが提供する同じソリューションを満たすための良い代替手段のように思えますが、MEF がこの要件をどのように満たすかについてはよくわかりません。私が行方不明になっているものが他にある場合は?
ASP.NET MVC Web アプリケーションをゼロから設計でき、パッケージ バージョンを販売しなければならないという要件がある場合、再コンパイルする必要なく、他のユーザーが特定のビットのデータ アクセスを "プラグイン" できるようにするにはどうすればよいでしょうか?あなたはそれを実装しますか?
.net - 複数のビデオ サービスのサポートを構築するための .net プロバイダーとリポジトリ
複数のビデオ プロバイダーをサポートしようとしています。
- 内部ビデオ プロバイダー (ユーザーがビデオをアプリ サーバーにアップロードし、アプリケーションがそれを再生します)
- Youtube プロバイダー (youtube からすべてを取得し、埋め込まれた youtube ビデオを使用して再生します)
- ヴィメオ
- 他のプロバイダー
UI により、ユーザーはビデオを選択するときにプロバイダーを選択できます。誰かが同様のものを実装しましたか?そのためにプロバイダー モデルまたはリポジトリ パターンを使用することをお勧めしますか?