0

最近、かなり大規模なプロジェクト (C# XNA ゲーム) を開始しました。
すべてのファイルをリモートサーバーに保存し、ファイルの「バージョン」にデータベースを使用し、パッチャーに新しいバージョンをダウンロードさせ、古いバージョンを削除することは、非常に明白な解決策のようです。
これは理論的にはすべて素晴らしいことです。そのためのスペースを備えたサービスも見つけました (25GB オファーの SkyDrive)。ファイル操作に到達したときに問題が発生しました。

私たちは探しています:

  • プログラムで SkyDrive との間でファイルをダウンロード/アップロード (パッチ メーカー用) できます。
  • uname/pass を含む安全な方法があります。

両方を説明させてください。

つまり、個人アカウントで SkyDrive を作成する必要がありました (25 GB のオファーは古いユーザーにしか提供されていないため)。誰かが私のパスワードを取得することにあまり満足していません.明らかに完全に古風なものに変更しても、他のhotmail/msn関連のほとんどにアクセスできます. (それがすべてを作り直す理由だと思いますか?)。したがって、可能であれば、プログラム内で実際の uname/pass を保護します。それ.NETはオンデマンドでコンパイルされているため(そして簡単に逆コンパイルできるため)、この場合の本当のセキュリティはありそうもないのではないかと疑っています(セキュリティを確保できる場合は、方法を教えてください)。

その上、効率的で公式な SkyDrive API はありません。これは、さらに大きなセキュリティ ホールが存在し (前の段落を参照)、通信が必ずしも期待どおりに機能しないことを意味します)。これは、通信が遅くなる可能性があることも意味します.1,000 人のユーザーが同じファイルをダウンロードしている場合、何か問題があります.

したがって、これらすべてを定式化するには:

SkyDrive が個人アカウントにリンクされていることを考慮して、パッチャーのストレージ サーバーとして SkyDrive を使用する適切な方法(API の読み取り)は何ですか?

ちょっとした余談ですが、必要に応じて、私は悪になり、遅いアーティストにサーバーをホストさせることができます

編集 1:
アイデアは、誰でもクライアントをダウンロードできるようにすることですが、何かを開始するには、データベースにアクティブなアカウントが必要です. そのため、ファイル自体は誰にでも読み取られる問題はありません。だから私は次を追加します: ファイルが公開されている場合、SkyDrive からプログラムで直接ダウンロードする方法は? 現在のリンクは Web UI につながります。そして、すべてを手動で行うことを避けるために、プログラムで(おそらくアップロード時に)意味します。

4

1 に答える 1

1
  1. これは悪い考えです。

与えられた#1:

  1. パブリック フォルダーを使用してアセットを保存し、全員にアクセスを許可します
  2. httpclient を使用して、パッチャー クライアントで public フォルダーからファイルを匿名でダウンロードします。
  3. SkyDrive デスクトップ クライアントを使用して、「ビルド」マシンからパブリック フォルダーを同期します。
于 2012-04-27T13:51:56.230 に答える