IEnumerable
WCFで実際のオブジェクトへのリストまたはプロキシを生成するにはどうすればよいですか? 私は自己ホスト型アプリケーションでこれを行っています。
ここに私が持っているものがあります:
public interface IRemoteControlGroup {
List<IRemoteControl> GetInstances();
}
public class RemoteControlGroupImpl : IRemoteControlGroup {
public List<IRemoteControl> GetInstances()
{
System.Console.Error.WriteLine("Called GetInstances()");
List<IRemoteControl> list = new List<IRemoteControl>();
// implementation detail: get this list of IRemoteControl objects
return list;
}
}
public interface IRemoteControl {
void Stop();
void Start();
void GetPID();
}
public class RemoteControlImpl : IRemoteControl {
// actual implementation
}
私はWCFに次のことを望みます:
RemoteControlGroupImpl
の契約で定義されたサービス を提供しIRemoteControlGroup
ます。List<IRemoteControl>
(クライアント上で) がいつ呼び出されるか教えてくださいIRemoteControlGroup.GetInstances()
。ここで、リストの要素はIRemoteControl
(ホストの実際のIRemoteControl
オブジェクトを呼び出すことによって) 実装するプロキシです。
RemoteControlImpl
WCF がネットワーク経由で実際のオブジェクトをプッシュすることは望ましくありません。を実装するプロキシをプッシュしたいだけですIRemoteControl
。 RemoteControlImpl
オブジェクトには実際にはローカル システムへのハンドル (アプリは GUI インターフェイスのみを公開するため、ウィンドウ ハンドル) が含まれているため、シリアル化できません。によって返される要素の数はGetInstance()
さまざまです。
この記事を見つけました、これは私が欲しいもののように聞こえます。すこし。しかし、コードでこれを行う方法は教えてくれません。ちょうど構成にあります。また、私が望むものを完全に説明していません。サービスのエントリ ポイントはプロキシを提供します。しかし、サービスのエントリ ポイントでプロキシのリストを配信する必要があります。