かなり長い間探していましたが、Silverlight (pollingHttpDuplex) の二重接続を介してデータをプルする方法をカバーするものは実際には見つかりませんでした。
デュプレックスで基本的なサブ/パブ アプリケーションをセットアップしました。
ここで、ユーザーが接続しているトピックのリストを取得したいと考えました。私が最初に考えたのは、単純な DataContract (TopicName フィールドが 1 つだけ) をセットアップし、現在のトピックを保存するために使用してきた Dicionary からデータを取得することでした。だから私はこのようなものになります:
[OperationContract]
public List<Topic> GetTopicList()
{
List<Topic> topicList;
topicList = (from p in _sessionIDTopic
select new Topic
{
TopicName = p.Value
}).ToList<Topic>();
return topicList;
}
[DataContract]
public class Topic
{
[DataMember]
public string TopicName { get; set; }
}
ここで何か間違ったことをしています。大きな問題は、これをクライアント (Silverlight 4) に送信し、コントロールにバインドする方法です。
また、アプリケーションには二重化が不可欠です。他のものに変更することはオプションではありません。