2013-04-10 5 views
0

.과 함께 .net remoting 서비스를 등록한 후에는 응용 프로그램에서이 서비스를 더 이상 제공하지 않도록 취소 할 수 있습니까?RemotingConfiguration.RegisterWellKnownServiceType()을 실행 취소하는 방법은 무엇입니까?

나는 link을 확인했지만 놀랍게도 UnregisterWellKnownServiceType-Method는없는 것 같습니다.

RemotingServices.Disconnect(foo); 

을하지만 먼저 당신은 그 개체를 만드는 대신 RegisterWellKnownServiceType 사용하는 마샬링해야 할 것입니다 : 당신이 싱글로 잘 알려진 유형을 등록하는 경우

+0

왜이 작업을 원하십니까? –

답변

1

당신은 사용할 수

Foo foo = new Foo(); 
RemotingServices.Marshal(foo, uri); 

잘 알려진 유형을 SingleCall로 등록하는 경우에는이 작업을 수행 할 수 없습니다.

+0

흠. RemotingConfiguration.RegisterWellKnownServiceType()과 RemotingServices.Marshal() 사이에 차이가 있습니까? RemotingServices.Marshal이 동일한 + 연결을 끊을 수있는 경우 RemotingConfiguration.RegisterWellKnownServiceType()이 존재하는 이유는 무엇입니까? – marc40000

+0

@ marc40000 RegisterWellKnownServiceType을 사용하면 클라이언트가 먼저 요청할 때까지 객체가 생성되지 않고 작업을 수행하기 위해 .NET 프레임 워크에 남겨 둡니다. Marshal은 기본적으로 더 많은 제어 권한을 제공하며 원격 작업을 위해 기존 인스턴스를 등록한 다음 필요한 경우 연결을 끊을 수 있습니다. –

+0

내 프로젝트에서 RemotingServices.Marshal()로 전환했습니다. 이제는 다음과 같은 문제가 발생합니다. 서버가 아무런 연결없이 잠시 실행되고 클라이언트가 연결을 시도하면 서버가 요청한 서비스를 더 이상 호스트하지 않는다고 말합니다. 서버가 시작된 직후에 클라이언트에 연결할 때 작동합니다. 잠시 후 마샬드 서비스를 자동으로 제거하는 타임 아웃이 있습니까? – marc40000

관련 문제