Итак, я застрял, пытаясь заставить мой asmx webservice использовать инъекцию зависимостей и использовать IoC для этого. Я хочу, чтобы мой веб-сервис мог использовать мои внутренние службы бизнес-уровня. Веб-сервис должен использоваться внешним клиентом из другого домена и в основном будет использоваться для отправки и получения информации о таких объектах, как Заказы и Клиенты.
Пример:
public class MyService : System.Web.Services.WebService
{
[WebMethod]
public string HelloWorld()
{
return new MyBusinessService().MyMethod();
}
}
public class MyBusinessService : IMyBusinessService
{
public string MyMethod()
{
return "hello";
}
}
Я хочу использовать инъекцию зависимостей, чтобы избавиться от необходимости "обновлять" мою службу, но я не могу найти способ сделать это. Я могу заставить его работать, используя бедных мужчин DI, или, по крайней мере, я думаю, что это называется "бедные мужчины".
вот так:
public class MyService : System.Web.Services.WebService
{
private IMyBusinessService _myService;
public MyService(IMyBusinessService myService)
{
_myService = myService;
}
public MyService() : this(new MyBusinessServie()) { }
[WebMethod]
public string HelloWorld()
{
return _myService.MyMethod();
}
}
Но я просто не могу понять, как использовать контейнер IoC для ввода моих зависимостей, потому что я не могу заставить службу работать без конструктора без параметров. Пожалуйста, будьте любезны, я не опытный программист и только что начал тестировать инъекцию зависимостей и получил его, чтобы нормально работать на моем приложении форм Windows с помощью структуры структуры, но застрял на этом.