他のクラスに継承してプロジェクトで使用できるクラスを作成したいと思います。つまり、Mailメソッドごとに個別のクラスを作成したいのですが、クラスごとにComposeメソッドの実装が異なり、将来的にはさらに多くのMailクラスが作成されます。
私の質問は-これらのクラス/インターフェースをどこに作成すればよいですか?App_Codeで?
他のクラスに継承してプロジェクトで使用できるクラスを作成したいと思います。つまり、Mailメソッドごとに個別のクラスを作成したいのですが、クラスごとにComposeメソッドの実装が異なり、将来的にはさらに多くのMailクラスが作成されます。
私の質問は-これらのクラス/インターフェースをどこに作成すればよいですか?App_Codeで?
別のアセンブリを作成し、そのアセンブリを参照として Web プロジェクトに含めることをお勧めします。これにより、クラス/インターフェースに対して独立したテスト ケースを作成できます。
ユーザー コントロール以外に、ソース ファイルを App_Code に格納できます。あなたの場合、インターフェイス/クラスを App_Code に保存できます。AppCode 内にクラス/インターフェイスのグループ用に複数のフォルダーを作成できます。
ソース コードを App_Code フォルダーに保存すると、実行時に自動的にコンパイルされます。結果のアセンブリは、Web アプリケーション内の他のコードからアクセスできます。したがって、App_Code フォルダーは Bin フォルダーと同じように機能しますが、コンパイルされたコードの代わりにソース コードを格納できる点が異なります。App_Code フォルダーと、ASP.NET Web アプリケーションでのその特別な状態により、カスタム クラスやその他のソース コードのみのファイルを作成し、それらを個別にコンパイルすることなく Web アプリケーションで使用できます。
編集: このディスカッションが表示される場合があります: ASP.NET app_code フォルダーを整理する方法?