wcf - 我们可以在 wcf 服务中使用简单的注入器进行依赖注入吗?如何?
问题描述
我们可以在 wcf 服务中使用简单的注入器进行依赖注入吗
解决方案
我们可以在 wcf 服务中使用简单的注入器进行依赖注入。这是我的演示。安装此 NuGet 包后,必须在应用程序的启动路径中通过调用 SimpleInjectorServiceHostFactory.SetContainer 方法对其进行初始化:
protected void Application_Start(object sender, EventArgs e)
{
var container = new Container();
container.Options.DefaultScopedLifestyle = new AsyncScopedLifestyle();
container.RegisterWcfServices(Assembly.GetExecutingAssembly());
container.Register<IDemo, Demo>();
SimpleInjectorServiceHostFactory.SetContainer(container);
}
对于每个服务类,您应该在每个服务类的 .SVC 文件中提供一个工厂属性。例如:
<%@ ServiceHost
Service="Demo_rest_IIS.Service1"
CodeBehind="Service1.svc.cs"
Factory="SimpleInjector.Integration.Wcf.SimpleInjectorServiceHostFactory,
SimpleInjector.Integration.Wcf"%>
通过构造方法注入服务:
public class Service1 : IService1
{
private IDemo demo;
public Service1(IDemo demo){
this.demo = demo;
}
}
您可以参考以下链接:
https://github.com/simpleinjector/Documentation/blob/master/source/wcfintegration.rst
推荐阅读
- html - 我怎样才能使下拉菜单的大小与按钮(宽度)相同
- php - CURLE_OPERATION_TIMEDOUT
- java - 如何使用 selenium webdriver 找到将返回所有下拉列表值的 xpath
- c# - 查看组件未正确加载 css 和 js 不适用于 ajax 调用
- java - 更新java spark中结构类型列中的值
- shell - 提交命令时如何在 CLI Unix 中给出今天的日期?
- wordpress - 编辑查看订单页面 WooCommerce
- sql-server - 如何将 SQL Server 选择的结果导入 Azure 逻辑应用中的新 Excel 文件?
- c# - 将对象设置为接口后如何访问类方法?
- java - 在Java程序中的oracle sql select语句中放置非硬编码值(变量)的正确语法