5
Dưới đây là cấu hình NinjectHttpApplication ..Làm thế nào để có được dụ từ Ninject
public class MvcApplication : NinjectHttpApplication
{
public MvcApplication()
{
Error += NinjectWebsiteApplication_Error;
}
}
protected override IKernel CreateKernel()
{
var kernel = new StandardKernel();
kernel.Load<ApplicationConfig>();
return kernel;
}
void NinjectWebsiteApplication_Error(object sender, System.EventArgs e)
{
ILogger _iLogger = **//How to get instance of Applogger here from Ninject kernel..**
}
Dưới đây là lớp ApplicationConfig ...
public class ApplicationConfig : NHibernateNinjectModule
{
public ApplicationConfig()
{
//other settings such as ddl script generation is present here
}
public override void Load()
{
base.Load();
Bind<ILogger>().To<AppLogger>().InSingletonScope();
}
}
Cảm ơn bạn đã trả lời. Chúng ta có cần tạo hạt nhân lần nữa để truy cập cá thể không. Vì trong ApplicationConfig(), chúng ta có nhiều thứ khác đang diễn ra như tạo các kịch bản lệnh ddl cho ứng dụng. Vì vậy, khi sự kiện lỗi được nâng lên, CreateKernel() được gọi và tập lệnh được tạo lại. Tôi nhận ra tôi cần ví dụ này trong bộ lọc hành động quá và cố gắng với "tiêm" thuộc tính trên tài sản, nhưng lỗi tham chiếu cho đối tượng của nó. Thuộc tính inject hay thuộc tính chỉ đọc của giao diện làm việc trong trường hợp này .. – Sunny
Tôi đã sửa câu trả lời của mình – archil
Làm cách nào để truy cập biến _kernel. Tôi có cần một cái gì đó như thế này không? ... http://stackoverflow.com/questions/5031678/getting-started-with-ninject-in-asp-net-mvc-3 – Sunny