如何在无svc服务实现中使用Simple Injector

时间:2019-02-04 21:34:26

标签: c# wcf autofac simple-injector

由于考虑到更好的装饰器支持,我正在考虑从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样式的服务端点,而网址中没有实际的服务名称。

在简单注入器中有与此等效的东西吗?

1 个答案:

答案 0 :(得分:0)

只需使用:

SimpleInjectorServiceHostFactory.SetContainer(container);

RouteTable.Routes.Add(
    new ServiceRoute("", 
        new SimpleInjectorServiceHostFactory(),
        typeof(ISomeService)));