На самом деле способ, которым вы разработали свой класс, может быть улучшен. Вместо того, чтобы сделать ваш класс зависимым от какого-либо параметра для создания экземпляра, сделайте методы этого класса зависимыми.
Я хочу сказать, перепроектируйте класс OrderDetail, как показано ниже:
1.) Создайте интерфейс
public interface IOrderDetail
{
GetPrice(int orderId)
}
2.) Создайте класс, реализующий интерфейс
public class OrderDetail : IOrderDetail
{
public GetPrice(int orderId) {....}
}
3.) Зарегистрируйте зависимость в контейнере Io C
container.RegisterType<IOrderDetail, OrderDetail>();
4. ) Используйте его, как показано ниже в API Controller
public class SomeController : ApiController
{
private readonly IOrderDetail _orderDetail;
public SomeController(IOrderDetail orderDetail)
{
_orderDetail = orderDetail;
}
[HttpPost]
public IActionResult Search(string orderID)
{
return Json(_orderDetail.GetPrice(orderID));
}
}