서비스 클래스와 다른 클래스에서 공유 데이터를 유지 관리하고 서비스 클래스를 상태 비 저장으로 만듭니다. 상태없는 서비스는 싱글 톤 인스턴스를 가져 와서 사용할 수 있습니다.
여기 스케치입니다 :
class MySingleton {
//You can use any lazy initialization logic you like
//I just used a static initializer as an example
public static readonly MySingleton Instance = new ...();
//Move all static data into this class
//Use it from anywhere you like
}
class MyWcfService {
//This WCF service has no state
//Any instancing mode will do
public void SomeServiceMethod() {
MySingleton.Instance.DoSomething();
}
}
이 문제와 아무 상관이있다 : 상태 유지 웹 서비스 및 웹 응용 프로그램은 피해야한다. 응용 프로그램이 언제든지 종료 될 것이라고 가정해야합니다 (예 : 정전, 충돌, 버그 등). 또한 일반적으로 응용 프로그램을 여러 번 인스턴스화하는 고 가용성 솔루션이 필요합니다.
출처
2014-07-14 17:26:38
usr
Windows 서비스에서 내 WCF 서비스를 호스팅합니다. WCF 서비스가 아닌 Windows 서비스 수준에서 데이터를 가져올 수있는 솔루션 일 수도 있습니다. – danrt
그래, 그것도 의미가있다. 서비스 클래스에 공유 데이터에 대한 참조를 어떻게 든 제공하면됩니다. 정적 변수는이를 수행하는 쉬운 방법입니다. – usr
네,이 문제를 해결할 수 있지만 WCF 데이터를 보낼 수있는 방법을 찾을 수 없습니다. – danrt