2009-08-13 1 views
1

Silverlightでポーリングメカニズム(yes/noオプション付きの簡単な質問)を実装する必要がありますが、データベースは使用できません。 クライアントは、利用可能なストレージはxmlファイルのみであると言います。DBなしのSilverlightにおけるポーリングメカニズム

これは実行可能なオプションだと思いますか?私はファイルの整合性とこれから発生する可能性のある同時実行性の問題に対処することを考えています。ユーザーが応答を提出したときにファイル全体をロックする必要があり、ファイルが大きくなる可能性があります。

提案がありますか?おかげさまで

PS:私の前のアカウントは、stackoverflowで失われました(理由を理解できません)。

答えて

0

これまでのプロジェクトでこれを検討しましたが、Silverlightのサーバー側のデータストレージの唯一のオプションはバックエンドWebサービスだと思います。 Silverlightからの投票、要求の検索、および投票の取得要求を処理するには、Asp.netで何かを作成する必要があります。このバックエンドの最適なオプションはデータベースだとは思いますが、このデータをXMLに保存し、LINQ-to-XMLを使用して取得できるとします。

1

ユーザごとに別々のXMLファイルを使用することを検討しましたか?ユーザーがXML内の別のオブジェクトに取り込んだすべてのポーリングをシリアル化できます。あなたは1つのファイルを共有していないので、あなたはロックの必要性を取り除きますが、小さなXMLファイルの多くは場所を浪費しますが、かもしれません。は集約が難しいでしょう。面倒すぎる。あなたはa09r0awegamogm.xmlのようなファイルを持っていると思いますので、一例として

、あなたはとてもようにレイアウトされ、ユーザーのユーザー名か何かのいくつかのハッシュを持つすべてのファイルに名前を付けることができます:

<?xml version="1.0" encoding='UTF-8'?> 
<poll> 
    <title>My First Poll</title> 
    <answers> 
    <answer>D</answer> 
    <answer>C</answer> 
    <answer>A</answer> 
    <answer>E</answer> 
    </answers> 
</poll> 
0

可能性I - ユーザー/投票ごとに1つのファイルを探し、バックグラウンドサービスを使用して結果を集計します。 - 結果を含むagregated xmlファイルを生成するバックグラウンドサービスによって読み取られるキューにユーザーの応答を記録します。しかし、データベースを持っていない場合は、おそらくキューイングシステムもありません。

関連する問題