Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

서버 Remoting 개체에게 "참조"를 이용하여 개체를 전달하는 방법이 있을 수 있습니다.
예를 들어 다음과 같은 식이지요.

서버 개체
public void DoDBInsert( CallBackClass aClass )
{

   // 모든 DB 작업을 수행

  try {
      aClass.Test_Connect(); // 클라이언트가 연결되었는지 확인하기 위한 메서드 호출
    } catch ( Exception ex )
    {
      // 모든 DB 작업을 rollback
    }
}

public class CallBackClass : System.MarshalByRefObject
{
   void Test_Connect() {}
}

CallBackClass가 리모팅 개체이므로, 서버 측에서 클라이언트가 연결되었는지에
대한 테스트를 위해서 아무 메서드나 불러주면 되는 것이죠. 만약 정상적으로
호출이 되면 아직도 클라이언트가 살아 있는 것이고, 그렇지 않으면. ^^;

더 좋은 방법을 알고 계신 분들은.... 공유해 주십시오. ^^
예를 들어, Remoting에 의해서 제공되는 클래스들 중에서 IsClientConnected
라는 식의 프로퍼티를 제공해 주는 것이 있다거나... ^^

--
======= (c) .NETXpert ==========
url : http://www.dotnetxpert.com
eml : kevin@dotnetxpert.com
msn: kevin025@magicn.com

MCSD.NET, MVP[VC++]
==============================

"KapRyeong Kim" <ararion@hotmail.com> wrote in message
news:eRZPWMzlEHA.2216@cpmsftngsa05.privatenews.microsoft.com...
> 원격 개체(singleton이나 singlecall)가 자신을 호출한 프록시가 죽었는지 알

> 있는 방법이 있을 까요?
>
> 프록시가 원격 개체를 호출해 놓고 갑자기 죽어버릴 경우(네트웍이 끊겼거나
> 클라이언트가 다운), 호출된 원격 개체는 실컷 일하고 결과를 돌려 주지 못하는
> 경우가 생기는 군요.
>
> 단순히 돌려주지만 못하면 상관없는데.. 원격 서버 DB를 롤백할 방법이
> 막막하군요..
>
> 경험 있으신 분은 알려주시면 감사하겠습니다..
>
>
>









[최초 등록일: ]
[최종 수정일: 6/25/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 46  47  48  49  [50]  51  52  53  54  55  56  57  58  59  60  ...
NoWriterDateCnt.TitleFile(s)
12721정성태7/20/202121051오류 유형: 738. The trust relationship between this workstation and the primary domain failed. - 세 번째 이야기
12720정성태7/19/202116374Linux: 43. .NET Core/5+ 응용 프로그램의 Ubuntu (Debian) 패키지 준비
12719정성태7/19/202115353오류 유형: 737. SharePoint 설치 시 "0x800710D8 The object identifier does not represent a valid object." 오류 발생
12718정성태7/19/202114980개발 환경 구성: 581. Windows에서 WSL로 파일 복사 시 root 소유권으로 적용되는 문제파일 다운로드1
12717정성태7/18/202115557Windows: 195. robocopy에서 파일의 ADS(Alternate Data Stream) 정보 복사를 제외하는 방법
12716정성태7/17/202115997개발 환경 구성: 580. msbuild의 Exec Task에 robocopy를 사용하는 방법파일 다운로드1
12715정성태7/17/202123415오류 유형: 736. Windows - MySQL zip 파일 버전의 "mysqld --skip-grant-tables" 실행 시 비정상 종료 [1]
12714정성태7/16/202116597오류 유형: 735. VCRUNTIME140.dll, MSVCP140.dll, VCRUNTIME140.dll, VCRUNTIME140_1.dll이 없어 exe 실행이 안 되는 경우
12713정성태7/16/202118771.NET Framework: 1077. C# - 동기 방식이면서 비동기 규약을 따르게 만드는 Task.FromResult파일 다운로드1
12712정성태7/15/202117376개발 환경 구성: 579. Azure - 리눅스 호스팅의 Site Extension 제작 방법
12711정성태7/15/202116852개발 환경 구성: 578. Azure - Java Web App Service를 위한 Site Extension 제작 방법
12710정성태7/15/202120188개발 환경 구성: 577. MQTT - emqx.io 서비스 소개
12709정성태7/14/202115724Linux: 42. 실행 중인 docker 컨테이너에 대한 구동 시점의 docker run 명령어를 확인하는 방법
12708정성태7/14/202120066Linux: 41. 리눅스 환경에서 디스크 용량 부족 시 원인 분석 방법
12707정성태7/14/202186631오류 유형: 734. MySQL - Authentication method 'caching_sha2_password' not supported by any of the available plugins.
12706정성태7/14/202117999.NET Framework: 1076. C# - AsyncLocal 기능을 CallContext만으로 구현하는 방법 [2]파일 다운로드1
12705정성태7/13/202118787VS.NET IDE: 168. x64 DLL 프로젝트의 컨트롤이 Visual Studio의 Designer에서 보이지 않는 문제 - 두 번째 이야기
12704정성태7/12/202117325개발 환경 구성: 576. Azure VM의 서비스를 Azure Web App Service에서만 접근하도록 NSG 설정을 제한하는 방법
12703정성태7/11/202122340개발 환경 구성: 575. Azure VM에 (ICMP) ping을 허용하는 방법
12702정성태7/11/202118586오류 유형: 733. TaskScheduler에 등록된 wacs.exe의 Let's Encrypt 인증서 업데이트 문제
12701정성태7/9/202118164.NET Framework: 1075. C# - ThreadPool의 스레드는 반환 시 ThreadStatic과 AsyncLocal 값이 초기화 될까요?파일 다운로드1
12700정성태7/8/202118659.NET Framework: 1074. RuntimeType의 메모리 누수? [1]
12699정성태7/8/202117304VS.NET IDE: 167. Visual Studio 디버깅 중 GC Heap 상태를 보여주는 "Show Diagnostic Tools" 메뉴 사용법
12698정성태7/7/202121368오류 유형: 732. Windows 11 업데이트 시 3% 또는 0%에서 다운로드가 멈춘 경우
12697정성태7/7/202115980개발 환경 구성: 574. Windows 11 (Insider Preview) 설치하는 방법
12696정성태7/6/202117376VC++: 146. 운영체제의 스레드 문맥 교환(Context Switch)을 유사하게 구현하는 방법파일 다운로드2
... 46  47  48  49  [50]  51  52  53  54  55  56  57  58  59  60  ...