まず、インターネットを 2 時間以上調べましたが、問題に対する有用な答えが見つかりませんでした。非常に単純です。Remoting と Form を使用してサーバー内のファイルを一覧表示する必要があるクライアント サーバー プログラムがあります (WCF については知っていますが、ここでのポイントではありません)。さて、私はすべてのリストディレクトリ/フォルダーが正常に機能しています (自分の PC でリモートを使用せずにテストしています) が、これを「リモート」しようとすると、苦労しています。
まず第一に、http をチャネルとして使用しており、登録と有効化は問題ありません。少なくとも私が使用していると思います:
RemotingServices.Marshal(Server,"ListaArquivos")
サーバーと
server = (Server)Activator.GetObject(typeof(ServerDLL.Server), "http://localhost:12345/ListaArquivos")
クライアントで、Server は .dll (MarshalByRefObject) です。
私の手順は次のとおりです。
- クライアントからサーバーへの手順で呼び出すすべてのメソッドを保持する .dll クラス (MarshalByRefObject を継承) があります。このメソッドの 1 つは TreeNodeCollection を返し、...
- クライアント フォームでこのメソッドを呼び出し、このコレクションをフォームに挿入しようとしましたが、そのときに "Windows.Form.TreeNodeCollection" blabla "not serializable" を取得しました。
そして、それは私の疑問です。どうすればこれを機能させることができますか? PS-> 私のプロジェクト リンク: My Explorer