2012-07-04 4 views
3

서비스 호스팅을 시작한 후 가능한 한 빨리 wcf 서비스 클래스에서 일부 구조를 초기화해야합니다.Windows 프로세스에서 wcf 서비스를 사용하고 있습니까?

이제 WinForms 응용 프로그램에서이 호스트를 호스팅하고이 정적 구조를 초기화합니다.

ServiceHost host = new... 
host.Open()... 
new MyServiceClient().Initialize(); 

하지만 더 좋은 방법이 있습니다. 나는 그것이 비 숙련 된 솔루션이라는 것을 안다. 아마 wcf-client가 윈도우 프로세스로 작동하고 있을까? (이 클라이언트는이 초기화 메서드를 호출하는 데만 책임을 져야합니다.)

+0

질문 : 콘솔/Windows 서비스 대신 WinForms 응용 프로그램에서이 서비스를 호스팅하는 이유는 무엇입니까? 그리고 특히 초기화에서 무엇을하고 싶습니까? –

답변

0

초기화 작업이 필요한 모든 작업을 수행하기 위해 서비스의 생성자를 사용할 수 있습니다.

// The service 
public class MyService : IMyService { 
    // Constructor 
    public MyService() { 
     // Initialize things here 
    } 
} 

초기화 작업을 한 번만 수행해야하는 경우에는 생성자를 정적으로 만들 수 있습니다. 생성 된 내용이 정적이 아닌 경우 성능 요구 사항에 따라 서비스를 싱글 톤으로 만들 수 있습니다.

+0

내 설명을 다시 한 번 살펴보십시오. "이제 WinForms 응용 프로그램에서 호스트합니다" – Saint

+0

서비스의 현재 설정에 대해 좀 더 자세히 설명해 주시겠습니까? –

+0

dll에서 서비스, 호스트 응용 프로그램으로 WinForms. dll에서 나는 어떤 객체 생성을 유지한다. 가능한 한 빨리이 건설을 초기화해야합니다. – Saint