- PR -

CAO&設定ファイルでリース期間の延長する方法は?

1
投稿者投稿内容
さとくんパパ♪
常連さん
会議室デビュー日: 2004/05/07
投稿数: 29
投稿日時: 2007-03-30 18:36
こんにちは、さとくんパパこと古谷です。お世話になっています。

--------------------------------
【知りたい事】
--------------------------------
.NET RemotingでCAOを使用してリース期間の延長にSponsorを使用するとき
コードではなくて環境設定ファイルで実現する方法を教えてください。


--------------------------------
【経緯】
--------------------------------
.NETリモーティングでCAOのスポンサーを実装して、

『ホストからPingしてクライアントが生きていたらリース期間を延ばす』

という割と皆さんがはまっていそうなところは、あちこちのサイトを見て
何とかクリアしました。参考にした書籍はお約束の

『これからはじめる○○○○.NETリモーティング編』

です。この本ではプログラムによるSponsorの実装方法はやり方が示されて
いるのですが、環境構成ファイルによりSponsorを設定してリース期間を
延長する方法が示されていませんでした。

そこでいろいろ試してみたのですが上手くいきません。


--------------------------------
【問題点】
--------------------------------

○サーバ側
--------------------------------
リース期間を設定する処理は、
RemotingConfiguration.Configure(・・・)
にて設定ファイルを読み込む処理の前後いろいろなところに書いてみました。
ここでは特に問題ありません。(とりあえず後ろに置いて実行しています。)


○クライアント側・・・問題@
--------------------------------
RemoteClass myClass = RemotingConfiguration.Configure(・・・)
にて設定ファイルを読み込んだ後にリモートインスタンスを生成して
(ILease)RemotingServices.GetLifetimeService(myClass )
にてILeaseを取得しようとするとnullが戻ってきてしまいます。
従って、次にこのILease.Register()にてスポンサーを登録しようとすると
例外が発生してしまいます。

故にまず、スポンサーが登録できないという大きな問題がここで発生します。


○サーバ側(リース期間が???)・・・問題A
--------------------------------
やむなくクライアント側におけるスポンサー登録をあきらめ(=コメント化
して)そのままホストとクライアントを起動します。
サーバ側のアプリは要求があるとリース残り時間を返すようにしているので
すが、リース期間がマイナスの異常に大きい数になってしまいます。


--------------------------------
【ポイント】
--------------------------------
コードでやる分には、上記の処理は何も問題なく出来ます。
設定ファイルで上記問題を解決して、SPONSORによるCAOのリース期間実現
やり方がわかる方、是非ご教授の方よろしくお願いいたします。


以上、よろしくお願いいたします。
1

スキルアップ/キャリアアップ(JOB@IT)