2011-08-12 5 views
0

콘솔 응용 프로그램에서 호스팅되는 .net remoting으로 작업 할 수 있습니다. 하지만 콘솔 응용 프로그램이 아닌 양식 응용 프로그램에서 원격 객체를 호스트 할 수있는 방법이 있습니까? 따라서 서버 관리자는 실시간으로 요청과 응답을 볼 수 있습니다.Windows 응용 프로그램의 호스트 .net remoting 객체

어떤 아이디어가 도움이 될 것입니다.

감사 SKPaul ​​

+0

이 왜 다르게 어떤 일을 할 것입니다 : 윈도우 Forms 컨트롤에 http://msdn.microsoft.com/en-us/library/system.windows.forms.control.invokerequired.aspx

어떻게 스레드 안전 통화를 할 수있는? – Amy

+0

나는 활동을 모니터링하는 서버 관리자를 원한다. –

+0

활동을 데이터베이스 나 검색 가능한 것으로 기록하는 것이 더 나을 수도 있습니다. 양식을 사용하여 답변을 작성할 수 있지만 나중에 로그를 검색하거나 나중에 참조해야하는 경우 좀 더 영구적 인 것이 필요합니다. 응용 프로그램이 충돌 할 때 양식의 활동이 손실되고 텍스트 상자에 텍스트를 추가하는 경우 메모리가 결국 소모되어 충돌합니다. – David

답변

1

예. Main()에서 호스트를 인스턴스화하고 시작하는 대신 Form_Load 또는 버튼 클릭 이벤트에서 인스턴스화하고 시작하거나 인스턴스를 시작하기 만하면됩니다. 그것은 다르지 않습니다.

WinForms 앱을 만들고 콘솔 앱에서 코드를 복사하기 만하면됩니다. 응답이 들어 오면

, 레이블 또는 대신 그들이 와서에서 메시지를보고 싶다면 Console.WriteLine()의 텍스트 상자에 쓰기.

유일한주의해야 할 점은 가능성이 서비스 호스트가 될 것입니다 폼 UI와는 다른 스레드에서 실행되므로 TextBox, Label 또는 다른 컨트롤의 InvokeRequired 속성에 대해 알아야합니다. 그렇지 않으면 다른 스레드에서 컨트롤에 쓸 때 오류가 발생합니다.

호출 필수 속성 : http://msdn.microsoft.com/en-us/library/ms171728.aspx

+0

콘솔 응용 프로그램으로 작업한다면 스레드로 작업해야합니까? –

+0

같은 방식은 아닙니다. Console.Writeline은 스레드로부터 안전합니다. http://stackoverflow.com/questions/1079980/calling-console-writeline-from-multiple-threads – David

+0

David 많은 분들께 감사드립니다. 이제는 "How to : Windows Forms 컨트롤에 스레드 안전 호출 만들기"를 읽었습니다. MSDN 기사를 통해 내가 배울 수 있기를 바랍니다. –