Mam niestandardowy ErrorLog ELMAH który wykorzystuje kontekst EF Kod pierwszego do przechowywania błędów: -Jak mogę wstrzykiwać zależności do niestandardowej listy błędów ELMAH?
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 jest okablowany w pliku web.config: -
<errorLog type="MyProject.EntityFrameworkErrorLog, MyProject" />
I” m już używa programu Ninject w innym miejscu projektu. Chciałbym wstrzyknąć MyContext
, aby ErrorLog
nie tworzyło własnej zależności, ale nie mam szczęścia znaleźć haka w dokumentacji. Wydaje się, że ELMAH tworzy instancję wewnętrznie ErrorLog
, więc jedyną opcją, którą wydaje mi się, jest użycie ServiceLocator
wewnątrz mojego niestandardowego ErrorLog
, którego chciałbym uniknąć, jeśli to możliwe.
Czy istnieją jakieś lepsze zaczepy dostępne w ELMAH, które mogę użyć do wstrzyknięcia?
Idealne, dzięki! –