Więc utknąłem podczas próby uzyskania mojej usługi sieci web ASMX, aby użyć iniekcji zależności i przy użyciu IoC, aby to zrobić. Chcę, aby moja usługa sieciowa mogła korzystać z moich wewnętrznych usług warstwy biznesowej. Usługa internetowa ma być używana przez klienta zewnętrznego z innej domeny i będzie głównie używana do wysyłania i otrzymywania informacji o takich podmiotach, jak Zamówienia i Klienci.Wtyczka ASMX Dependency Injection i IoC
Przykładem może być:
public class MyService : System.Web.Services.WebService
{
[WebMethod]
public string HelloWorld()
{
return new MyBusinessService().MyMethod();
}
}
public class MyBusinessService : IMyBusinessService
{
public string MyMethod()
{
return "hello";
}
}
Chcę używać iniekcji zależność, aby wyeliminować potrzebę „newing” moje usługi, ale nie mogę znaleźć sposób, aby to zrobić. Mogę go użyć do pracy z biednym mężem DI, a przynajmniej myślę, że nazywa się to "biednymi mansami".
tak:
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();
}
}
Ale ja po prostu nie mogę uzyskać moja głowa wokół jak korzystać z kontenera IoC wstrzyknąć moich zależności bo nie mogę dostać się do uruchomienia usługi bez konstruktora bez parametrów. Proszę być uprzejmy, nie jestem doświadczonym programistą i właśnie zacząłem testować wtrysk zależności i sprawiłem, że działa dobrze na mojej aplikacji formularzy okien z mapą struktury, ale utknąłem na tym.