エラーを保存するためにEF Code-Firstコンテキストを使用するELMAHカスタムErrorLogがあります:-
class EntityFrameworkElmahErrorLog
{
public EntityFrameworkElmahErrorLog(IDictionary config) : this() { }
public override ErrorLogEntry GetError(string id)
{
using (var context = new MyContext())
{
var intId = Int64.Parse(id, CultureInfo.InvariantCulture);
var item = context.ErrorLog.Single(x => x.Id == intId);
return new ErrorLogEntry(this, id, ErrorXml.DecodeString(item.Details));
}
}
// etc.
}
ErrorLog は web.config で接続されています:-
<errorLog type="MyProject.EntityFrameworkErrorLog, MyProject" />
私はすでにプロジェクトの他の場所で Ninject を使用しています。が独自の依存関係をインスタンス化しないMyContext
ように注入したいのですが、ドキュメントでフックを見つけることができません。ErrorLog
ELMAH はErrorLog
内部でインスタンス化しているように見えるので、私が持っていると思われる唯一のオプションは、可能であれば避けたいServiceLocator
カスタム内で使用することです。ErrorLog
注入に使用できるELMAHで利用可能なより良いフックはありますか?