在试图获得我的<代码>asmx网络服务时,我一直 st忙使用依赖注射,并利用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";
}
}
我想利用依赖性注射来消除“新”我服务的必要性,但我可以表明这样做的方法。 我可以让它利用穷人的人类发展指数开展工作。
与此类似:
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();
}
}
But I can t work out how to use a IoC container to inject my dependencies because I can t get the service to run without a parameterless constructor. I have just started to test dependency injection and got it to work fine on my windows forms application with StructureMap but got stuck on this one.