2012-02-25 5 views
1

ASP.NET 호환으로 실행되는 WCF 서비스가 있습니다.WCF Service singleton get instance

이 서비스는 읽기 전용으로되어 있으며 웹 스크립트 공장을 사용하여 만들어졌습니다.

어디서나 코드 (다른 페이지 .. 등)에서 싱글 톤 인스턴스를 가져오고 싶습니다. 만약 생성되지 않았다면 직접 생성해야합니다. 그러나 처음으로 직접 액세스하면 다른 싱글 톤 인스턴스를 생성해서는 안됩니다. 이미 코드의 어딘가에서 생성 된 것이 었습니다. 기본적으로, 나는 고전적인 싱글 톤을 원하지만 정적을 사용하지 않고 서비스의 생성은 공장의 일이어야한다.

답변

0

당신은 당신의 WCF 서비스에 대한 속성을 사용하여이 작업을 수행 할 수 있습니다 :이

[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)] 
class MySingleton : ... 
{...} 

당신의 WCF 서비스가 단일 인스턴스를 가지고, 그 모든 호출자에 의해 사용된다. http://msdn.microsoft.com/en-us/magazine/cc163590.aspx

+2

을 어떻게 병은 내가 다른 곳에서 싱글 인스턴스에 대한 참조를 얻을 : 자세한 내용은

볼? 참고 : 서버에서 나는 .net 객체를 직접 사용하여 클라이언트 프록시를 만들지 않습니다. – Zapacila