- - PR -
RemotingConfigurationについて
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-12-26 15:06
.NET Remotingについてです。
1exe(1画面)で、メッセージを別マシンに送るプログラムを作っています。 1プロセス内(再起動はしない)で、 ・マシンAからマシンXに送る ・マシンAからマシンYに送る という処理を行おうと考えています。 ホスト名だけ変更して、同じリモートオブジェクトを使用して(自前で作ったServiceClass)、ホスト名とポート番号を変更しようと考えています。 すると、以下のようコードになります。 RemotingConfiguration.RegisterWellKnownClientType(typeof(ServiceClass), "http://" + machineName + ":" + portNo + "/ServiceObjectUri"); ただ、マシンAからマシンYに送るとき、以下のようなエラーが出てしまいます。 System.Runtime.Remoting.RemotingException: 既にターゲットが変更されている型 'Service.ServiceClass, ServiceClass' のアクティブ化のターゲットを変更しようとしました。 場所 System.Runtime.Remoting.RemotingConfigHandler.RemotingConfigInfo.AddWellKnownClientType(WellKnownClientTypeEntry entry) 場所 System.Runtime.Remoting.RemotingConfigHandler.RegisterWellKnownClientType(WellKnownClientTypeEntry entry) 場所 System.Runtime.Remoting.RemotingConfiguration.RegisterWellKnownClientType(WellKnownClientTypeEntry entry) 場所 System.Runtime.Remoting.RemotingConfiguration.RegisterWellKnownClientType(Type type, String objectUrl) 場所 MessageManager.MessageManager.sendMessage(String machineName, String portNo, String message) 場所 C:\Documents and Settings\user\デスクトップ\技術検証用\MessageManager\MessageManager\MessageManager.cs:行 52 このエラーをどうにかしたいです。 エラーの内容から、「2回もServiceClassを登録しちゃダメ」って言われているということは分かるんですけど・・・ RemotingConfigurationクラスに存在する以下の静的メソッドの情報って 一度登録してしまうと、プロセスが消えるまで変更も消すこともできないのでしょうか。。。 いろいろ探してみましたが、解放することも初期化することもできません。 RegisterActivatedClientTypeメソッド (GetRegisteredActivatedClientTypesメソッド) RegisterActivatedServiceTypeメソッド (GetRegisteredActivatedServiceTypesメソッド) RegisterWellKnownClientTypeメソッド (GetRegisteredWellKnownClientTypesメソッド) RegisterWellKnownServiceTypeメソッド (GetRegisteredWellKnownServiceTypesメソッド) 環境については、 実行OSはWindowsXP SP2です。 開発環境はVisualStudio2005です。 開発言語はC#です。 どなたか詳しくご存知の方がいらっしゃいましたら、ご教授ください。 よろしくお願いいたします。 [ メッセージ編集済み 編集者: セリカ 編集日時 2006-12-26 18:11 ] | ||||
|
投稿日時: 2006-12-27 02:30
RegisterWellKnownClientTypeでの登録は行わずに、Activator.GetObjectでオブジェクトを取得してみるとどうでしょうか。
_________________ sabro ヒマをみつけてWeb開発 | ||||
|
投稿日時: 2007-01-06 02:46
sabroさん、レスありがとうございます。 そして、返信が遅くなってしまい申し訳ありません。 Activator.GetObjectを使用することにより、問題は解決はしました。 ありがとうございました。 |
1