Khi thêm gói StructureMap-MVC3 đến một ứng dụng ASP.NET MVC, một lớp IoC
chứa một phương pháp Initialize
được thêm vào (mà được gọi bằng một số mã trong thư mục App_Start) chứa các thông tin sau:Mục đích của scan.TheCallingAssembly, scan.WithDefaultConventions trong StructureMap-MVC3
public static class IoC
{
public static IContainer Initialize()
{
ObjectFactory.Initialize(x =>
{
x.Scan(scan =>
{
scan.TheCallingAssembly();
scan.WithDefaultConventions();
});
// x.For<IExample>().Use<Example>();
});
return ObjectFactory.Container;
}
}
Mục đích của mã scan.TheCallingAssembly()
và scan.WithDefaultConventions()
là gì? Tôi không thể thấy giải thích tốt về các phương pháp này trong số StructureMap documentation.
Khi sử dụng StructureMap trong dự án không phải MVC, tôi đã tìm thấy rằng toàn bộ phần x.Scan
có thể bị xóa mà không bị ảnh hưởng.