Castle.Windsor
をASP.NET MVC
(3.0)に使用すると、依存関係の1つがnullを解決した場合に、適切に処理できる方法はありますか?たとえば、IMembershipService
があるとします。Castle.Windsor、ASP.NET MVC、インジェクションのNull解決を処理する
class ServiceInstaller
{
// ...
void Install(// ..)
{
container.Register(
Component
.For<IMembershipService>()
.ImplementedBy<MembershipService>()
.LifeStyle.PerWebRequest
);
}
}
これはうまく動作します。今では、おそらく私のサイトのすべてがユーザーにログインする必要はありません。おそらく私のWebホストのデータベースサーバーが数時間クラッシュしたとしましょう。この場合、データベースを参照したり、ISession
を呼び出そうとするとnullが返されることがあります。
この場合、私は何ができますか?私はif(membershipService == null)
を100回以上書くことができますが、それはかなりばかげているようです。 と言う組み込みのソリューションはありますか "とにかく、エラーがあれば、これを行うのですか?"
DBサーバーがクラッシュした場合、DBクエリは* throw **、** never ** nullを返す必要があります。 –