c# – 如何注册通用服务

参见英文答案 > vNext Dependency Injection Generic Interface1个
我打算将我的系统移动到通用服务层.
public interface IAbcService<TEntity> where TEntity : class

public class AbcService<TEntity> : IAbcService<TEntity> where TEntity : class

我尝试了一些东西,但它不起作用.

services.AddTransient<typeof(IAbcService<MyEntity>),AbcService();
....
....
....

我正在使用我的一些实体,并且我正在尝试将其添加属性中.

如何在asp.net核心中注册通用服务?

解决方法

我之前想尝试完全相同的东西,我已经让它像这样工作:
services.AddTransient(typeof(IAbcService<>),typeof(AbcService<>));
services.AddTransient(typeof(IAbcService<Person>),typeof(AbcService<Person>));

请注意不同的结构,这是通过方法中的参数进行注册.

如上所示,使用新的DNX框架包,我们现在可以注册开放和封闭的泛型.尝试一下,这两行都行.

相关文章

目录简介使用JS互操作使用ClipLazor库创建项目使用方法简单测...
目录简介快速入门安装 NuGet 包实体类User数据库类DbFactory...
本文实现一个简单的配置类,原理比较简单,适用于一些小型项...
C#中Description特性主要用于枚举和属性,方法比较简单,记录...
[TOC] # 原理简介 本文参考[C#/WPF/WinForm/程序实现软件开机...
目录简介获取 HTML 文档解析 HTML 文档测试补充:使用 CSS 选...