2009-04-01 8 views
1

私はマスターズの冠水コースを早く受け取り、他の誰もがJavaで自分たちの仕事をしている間にCでプロジェクトをやっています。プロジェクトには4つのサービスがあり、サービス名をソケットにマップするネームサーバーが必要です。インストラクターは、学生がこのレジストリを構築するためにRMIを使用することを示唆しています。私はJavaに慣れておらず、インストラクターは.NETに慣れていないので、C#で同等のことを考え出すことができませんでした。誰か知っている人は誰ですか?サービスホストの解決 - C#RMIレジストリに相当しますか?

アップデート:私は明示的にそのソケットを知らなくても、WCFサービスを発見する方法を探しています

アップデート2:

私はVS 2008/WebDevサーバーを使用して、私のXPのラップトップ上でプロジェクトをデモします。

答えて

1

RMI Registery役立ちますあなたはキーでサービスを探すことができます。このメカニズムは、依存関係注入エンジンを使用するServiceLocator(ServiceLocatorパターンなど)を介してサービス/オブジェクトを解決し、サービスのインスタンス(つまり、既知の名前、インターフェイスなど)を解決するように依頼するのと似ています。

IMyService service = ServiceLocator.Resolve<IMyService>(); 

または

IMyService service = (IMyService)ServiceLocator.Resolve(typeof(IMyservice)); 

WCFは、それぞれ単一のサービスが別のサービスのホストを必要とするという意味、単一のサービスホストファッション対単一のサービスでのみ動作します。サービスホストを集約し、ポートを開いてDIコンテナに登録し、後で上記のようにサービスのインスタンスを要求するサービスコンテナを作成することができます。

2

Windows Server 2K3/8に付属のUDDIサーバーを使用できます。これは、あなたのサービスの発見を与えるでしょう。それ以外の場合は、サードパーティのパッケージが必要になります。

+0

VS2008/WebDevサーバーを使用してXPラップトップでプレゼンテーションを行いますので、UDDIを使用するオプションではないと思います。実際には、ネームサーバ(10%がドッキングされるでしょう)でそれらを読んで、いくつかの設定変数をハードコーディングせずに自分自身をロールバックする方法はわかりません。それを行う方法のアドバイス? – Aaron

+0

仮想OSにインストールできます – abatishchev

1

私はJava Remotingの専門家ではありません。

あなたが探しているものは、WCFという用語ではService Endpointと呼ばれています。 これは、config fileまたはcodeで実行できます。私はあなたがこのリンクを参照することになりWCFの概要については

Windows Communication Foundation Architecture

0

読む程度TCP Port Sharing、Windows Server 2008の新技術、それができたあなたはどこコンテナとしてJavaの作品に