rất mới đối với Cấu trúc-Bản đồ. cố gắng tìm ra cách nó hoạt động và làm thế nào tôi có thể hưởng lợi từ nó.Lỗi Sơ đồ Cấu trúc: Không có Trường hợp Mặc định nào được xác định cho PluginFamily
tôi đã nhận này cho đến nay ..
Global.asax.cs:
IContainer container = new Container(x =>
{
x.For<IControllerActivator>().Use
<StructureMapControllerActivator>();
x.For<IUserRepo>().Use<UserRepo>();
});
DependencyResolver.SetResolver(new StructureMapDependencyResolver(container));
StructureMapControllerActivator:
public class StructureMapControllerActivator : IControllerActivator
{
private readonly IContainer _container;
public StructureMapControllerActivator(IContainer container)
{
this._container = container;
}
public IController Create(RequestContext requestContext, Type controllerType)
{
return _container.GetInstance(controllerType) as IController;
}
}
StructreMapDependencyResolver:
private readonly IContainer _container;
public StructureMapDependencyResolver(IContainer container)
{
this._container = container;
}
public object GetService(Type serviceType)
{
object instance = _container.TryGetInstance(serviceType);
if(instance == null && !serviceType.IsAbstract)
{
_container.Configure(c => c.AddType(serviceType,serviceType));
instance = _container.TryGetInstance(serviceType);
}
return instance;
}
public IEnumerable<object> GetServices(Type serviceType)
{
return _container.GetAllInstances(serviceType).Cast<object>();
}
}
AccountController của tôi:
public class AccountController : Controller
{
private readonly IUserRepo _userRepo;
private AccountController()
{
_userRepo = ObjectFactory.GetInstance<IUserRepo>();
}
public ActionResult Login()
{
return View();
}
}
Error Code & Mô tả:
StructureMap Exception Code: 202 No Default Instance defined for PluginFamily MBP_Blog.Controllers.AccountController MBP-Blog, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
Tôi có một Tên Interface: IUserRepo và Tên kho lưu trữ: UserRepo
xin vui lòng giúp đỡ một Tôi cố gắng google nhưng dint tìm thấy bất kỳ giải pháp trong vòng 3 trang đầu tiên.
lỗi mới sau khi sử dụng @ đang Martin:
StructureMap Exception Code: 180 StructureMap cannot construct objects of Class MBP_Blog.Controllers.AccountController, MBP-Blog, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null because there is no public constructor found.
@ Martin .. cảm ơn vì answer..i bạn cố gắng sử dụng method..but của bạn vẫn tôi đang nhận được lỗi. hãy xem lỗi cập nhật .. –
SORRY !!! - Làm cho nhà xây dựng công khai – Martin
cảm ơn ... bằng cách nào đó tôi đã nhận nó làm việc ... tôi không biết liệu nó là một tthanks thực hành tốt nhất cho sự giúp đỡ của bạn .. sử dụng nó hay không ... sẽ hỏi một câu hỏi về điều đó ... –