C#.net 3.5 WebプロジェクトのWebページやユーザーコントロールに使用したい機能があります。ページに対する私の標準的なアプローチは、System.Web.UI.Pageクラスを拡張し、ページクラスから直接ではなく、これを継承する「基本ページ」を作成することです。ページ、Webサービス、Webコントロールの共通継承
私は、これらの機能の一部をWebコントロール(ascx)とWebサービスに公開したいと考えています。私はこれを行うためのいくつかの方法を考えることができますが、彼らは少し不器用なように見え、私はトリックを欠いていると思います。
継承を使用してページ、Webサービス、およびコントロールの両方に共通の機能を提供する簡単な方法はありますか?また、これらの機能をすべてアクセスできるクラスでラップする必要がありますか?
明確にする例:
- 私は自分のWebアプリケーションのほとんどの機能を扱うシングルトンを持っています。
- 各リクエストの開始時に、クラスがWebキャッシュに存在することを確認し、そうでない場合は初期化します。
最初は、このページがすべて使用されたページベースで処理されました。今では、同じチェックを使って、サービスとコントロールから安全に自分のシングルトンにアクセスできる必要があります。したがって、私はチェックと初期化のロジックを別のクラスに抽出して、それぞれのベースページ、コントロール、およびWebサービスをインスタンス化します。このモデルでも、同じコードを3つの場所(コントロール、ws、ページのそれぞれのベースクラス)で繰り返しますが、コードはそれほどありませんが、これも間違っています!
それは動作しますが、不器用に思われます...私はあなたの知恵で私を謙虚にお待ちしております!
これはすべて参考になります。私が見る限り、これを解決することを知らなかった「一般的な」解決策はありません。入力いただきありがとうございます。 – Timbo