我在App host.Classes&中注册了以下类型的IOC(func)。下面给出的接口位于单独的类库中。此类库包含WCF服务引用。
private void RegisteTyeps(Container container)
{
//Register Mapper
container.Register<IMapper>(c => _mapperConfiguration.CreateMapper());
container.RegisterAutoWiredAs<AppointmentHandler, IAppointmentHandler>().ReusedWithin(ReuseScope.Container);
container.RegisterAutoWiredAs<CalendarHandler, ICalendarHandler>().ReusedWithin(ReuseScope.Container);
container.RegisterAutoWiredAs<SettingHandler, ISettingHandler>().ReusedWithin(ReuseScope.Container);
}
我想添加一些服务引用(它们彼此略有不同)并生成代理。因此我添加了一些具有相应服务引用的类库。每个类库包含如上所述的“相同”接口和classe。
我想根据请求标题或其他东西动态加载/切换类库,以便我只能使用具有相应服务引用的特定库。代理。
我如何通过服务堆栈来实现这一点。任何人都有任何想法?
答案 0 :(得分:1)
您只能在Funq中为单个类型或接口注册依赖项。如果要执行多个注册,则需要注册Factory类型,例如:
public AppointmentHandlers AppointmentHandlers { get; set; }
public object Any(MyRequest request)
{
var dep = AppointmentHandlers.AppointmentHandler1();
}
然后用以下方法解决:
{{1}}
否则你需要register them with different interfaces or use a named registration。