System.ArgumentException: 'Тип сервиса ICommand не поддерживается. Имя параметра: serviceType
Я пытаюсь использовать Belgrade-SqlClient (небольшая асинхронная вспомогательная библиотека ADO.NET)
в C# Web API все хорошо, но когда я пытаюсь зарегистрировать Icommand в качестве службы
я получил ошибку:
System.ArgumentException: 'The service type ICommand is not supported. Parameter name: serviceType
это мой webapiconfig.cs, где я добавляю ICommand в качестве службы:
string Conn = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString; ;
config.Services.Add(typeof(ICommand), new Command(Conn));
и это Icommand:
using System.Threading.Tasks;
namespace Belgrade.SqlClient
{
public interface ICommand : IQueryMapper, IQueryPipe
{
Task Exec();
}
}
1 ответ
Я полагаю, вы используете config.Services как IServiceCollection. Тогда вам может понадобиться использовать AddTransient, например так:
config.Services.AddTransient<ICommand>(() => new Command(Conn))