由于考虑到更好的装饰器支持,我正在考虑从Autofac切换到Simple Injector。但是我非常喜欢您使用Autofac注册和托管无svc的WCF服务的方式,而我找不到使用Simpleinjector做到这一点的方法。
例如,使用Autofac,它的工作方式如下(在Application_Start中):
在构建容器期间:
builder.RegisterType<SomeService>().As<ISomeService>();
构造容器之后:
RouteTable.Routes.Add(
new ServiceRoute("", new AutofacServiceHostFactory(), typeof(ISomeService)))
请注意ServiceRoute
中的空字符串routePrefix,以便获得REST样式的服务端点,而网址中没有实际的服务名称。
在简单注入器中有与此等效的东西吗?
答案 0 :(得分:0)
只需使用:
SimpleInjectorServiceHostFactory.SetContainer(container);
RouteTable.Routes.Add(
new ServiceRoute("",
new SimpleInjectorServiceHostFactory(),
typeof(ISomeService)));