2010-11-30 2 views
1

는이 같은 서비스를 사용하여 내 웹 층 (S # arp는 아키텍처)에 SOAP 웹 서비스를 다시 IReportService 구현의?S # arp는 성 주입

감사합니다.

/// <summary> 
    /// The add application services to. 
    /// </summary> 
    /// <param name="container"> 
    /// The container. 
    /// </param> 
    private static void AddApplicationServicesTo(IWindsorContainer container) 
    { 
     container.Register(AllTypes.Pick().FromAssemblyNamed("MyAssembly.ApplicationServices").WithService.FirstInterface()); 
    } 

여기이 당신을 도울해야하는 서비스

private readonly IDocumentManagementService _client; 

    public DocumentService(IDocumentManagementService client) 
    { 
     _client = client; 
    } 

에서입니다 : 여기

답변

1

짧은 대답은입니다. ReportService를 yourProject.ApplicationServices에 넣으면 삽입됩니다.

긴 대답은입니다. Global.asax의 yourProject.Web에서 InitializeServiceLocator() 메소드를 찾을 수 있습니다. 이 메소드는 ComponentRegistrar의 정적 메소드 AddComponents를 호출합니다.

ComponentRegistrar는 YourProject.web/CastleWindsor에 있습니다. 거기에서 당신은 당신이 AddApplicationServicesTo를 보면 당신은 그 yourProject.ApplicationServices에서 레지스터 모든 유형을이다 (.WithService.FirstInterface을()) 볼 수 있습니다

public static void AddComponentsTo(IWindsorContainer container) 
    { 
     AddGenericRepositoriesTo(container); 
     AddCustomRepositoriesTo(container); 
     AddApplicationServicesTo(container); 

     container.AddComponent("validator", 
      typeof(IValidator), typeof(Validator)); 
    } 

를 찾을 수 :

private static void AddApplicationServicesTo(IWindsorContainer container) 
    { 
     container.Register(
      AllTypes.Pick() 
      .FromAssemblyNamed("NewittsStore.ApplicationServices") 
      .WithService.FirstInterface()); 
    } 
+0

나는 이런 식으로 뭔가를 시도했다. OK I 첨가했다 : 개인 정적 무효 AddWebTo (IWindsorContainer 용기) { container.Register ( AllTypes.Pick() .FromAssemblyNamed ("College.Web") .WithService.FirstInterface()); } 서비스 계층에 웹 서비스를 추가해야하는지/할 수 있는지 잘 모르겠습니다. – cs0815

0

기독교

는 ComponentRegistrar.cs에서입니다.