así que he quedado atascado mientras que intenta conseguir mi servicio web ASMX de usar la inyección de dependencia y el uso de una COI para hacerlo. Quiero que mi servicio web pueda usar mis servicios internos de la capa empresarial. El servicio web debe ser utilizado por un cliente externo de un dominio diferente y se usará principalmente para enviar y recibir información sobre entidades tales como Pedidos y Clientes.ASMX inyección de dependencia y de la COI
Un ejemplo sería:
public class MyService : System.Web.Services.WebService
{
[WebMethod]
public string HelloWorld()
{
return new MyBusinessService().MyMethod();
}
}
public class MyBusinessService : IMyBusinessService
{
public string MyMethod()
{
return "hello";
}
}
Quiero usar la inyección de dependencias para eliminar la necesidad de "Newing" Conectar el servicio, pero no puedo encontrar una manera de hacer esto. Puedo hacer que funcione con personas pobres, o al menos creo que se llama "pobres".
así:
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();
}
}
Pero yo simplemente no puede conseguir mi cabeza alrededor de cómo utilizar un contenedor IoC para inyectar mis dependencias porque no puedo conseguir el servicio para funcionar sin un constructor sin parámetros. Tenga cuidado, no soy un programador experimentado y recién comencé a probar la inyección de dependencias y conseguí que funcionara bien en mi aplicación de formularios de Windows con structuremap, pero me quedé atascado en esta.