Tôi có một ELMAH tùy chỉnh ErrorLog có sử dụng một bối cảnh EF Code-Đầu tiên để lưu trữ các lỗi: -Tôi có thể tiêm phụ thuộc vào một ErrorLog tùy chỉnh ELMAH như thế nào?
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.
}
Các ErrorLog là dây lên trong web.config: -
<errorLog type="MyProject.EntityFrameworkErrorLog, MyProject" />
tôi m đã sử dụng Ninject ở nơi khác trong dự án. Tôi muốn tiêm MyContext
để các ErrorLog
không instantiating phụ thuộc của riêng mình, nhưng tôi không có bất kỳ may mắn tìm kiếm một móc trong tài liệu hướng dẫn. ELMAH xuất hiện để khởi tạo ErrorLog
nội bộ, do đó, tùy chọn duy nhất tôi dường như có đang sử dụng một ServiceLocator
bên trong tùy chỉnh ErrorLog
, mà tôi muốn tránh nếu có thể.
Có móc nào tốt hơn có sẵn trong ELMAH mà tôi có thể sử dụng để tiêm không?
Hoàn hảo, cảm ơn! –