데이터를 수신/전송하고 클라이언트를 수신하기 위해 클래식 소켓과 스레드를 사용하는 클라이언트 - 서버 애플리케이션이 있습니다.폼이 어떻게 든 처리됩니다.
응용 프로그램이 잘 작동하지만 어떤 임의의 시간 이후 나는 얻을 경우 ObjectDisposedException :
그 코드는 클라이언트 소켓 스레드에서 호출 난의 코드를 실행할 수 호출() 방법을 사용한다System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'MainForm'.
at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
at System.Windows.Forms.Control.Invoke(Delegate method)
UI 스레드.
양식을 수동으로 처리하거나 사용하지 말아야합니다. Close() (양식은 닫기 버튼을 클릭하여 닫힙니다), 폐기 처분의 원인이 무엇인지 모르겠습니다.
편집 : 예외 폼 폐쇄시 발생 아니다 - 그것은 완전히 무작위로 발생합니다.
이 문제에 대한 해결책을 찾았습니까? 양식이 없어도 비슷한 문제가 있습니다. 아니면 1 년 전과 같이 기억하십니까? :) 그렇지 않다면 문제 없습니다. – M3NTA7
아니, 문제가 무엇인지 기억이 안납니다. 그러나, 나는 문제가 내 코드 내에 있었기 때문에 폼이 처리되도록 만들었다. 그래서 기본적으로 내 솔루션을 귀하의 문제에 적합하지 않을 것입니다. 코드를 자세히 살펴보고 (물론 디버깅을 통해) 범인을 찾아야합니다. – mnn