MvcMailerを ASP.NET MVC 4 アプリに統合しようとしています。
NuGet からパッケージをインストールし、Scaffold
問題なくコマンドでメーラーを生成しました。と を含む新しいフォルダー MailersUserMailer
とIUserMailer
、 のUserMailer
下のフォルダーになりましたViews
。
ここで、ユーザーが登録するたびにメールを送信したいと考えています。ユーザーに関するすべての操作は my によって処理されるためAccountController
、そのコンストラクターを変更して のインスタンスを受け入れるようにしようと考えましたIUserMailer
。
しかし、キャッスル ウィンザーは不平を言います。それは、満たされるのを待っている IUserMailer に依存しているため、コンポーネント AccountController を作成できないことを示しています。
で登録してみました
container.Register(Classes.FromThisAssembly()
.BasedOn<IUserMailer>()
.LifestyleTransient());
ただし、Windsor は引き続き同じ例外をスローします。
私もそれを登録しようとしました
container.Register(Component.For<IUserMailer>());
エラーを「IUserMailerは抽象的です。そのため、サービスIUserMailerの実装としてインスタンス化することはできません。プロキシするのを忘れましたか?」
このことを機能させる方法がわかりません。誰でも助けることができますか?
このコメントは、MvcMailer が Castle Windsor と互換性がないことを示しています。これは少し悲しいことです。その場合、それを回避する方法はありますか?
これはばかげた質問かもしれませんが、私はウィンザーの経験がほとんどありません。