キーを指定する必要があります。これは既定のテーブル操作のアクセス権です。認証されたユーザーのためのサービス生成された認証トークン。テーブル操作へのアクセスが必要な場合は、認証されたユーザーのためのトークンを指定する必要があります。テーブル操作へのアクセスに管理者アクセスが必要な場合は、このキーのみを含める必要があります。X-ZUMO-APPLICATIONですが、モバイルサービスへのデータ挿入をアプリケーションキーを持っている場合のみにしている場合していする必要があります。すべてのユーザーがデータ挿入可能にしているならば必要ありません。System.Net.HttpClientを利用した場合以下の様なコードでデータを挿入することができます。テーブル名は「testtable」、モバイルサービス名は「testgarimobile」でjson形式でコンテンツを送信します。テキストファイルのデータを読み込むとき、WindowsRuntimeではこのようなコードでデータを読み込むことができます。FileIOのReadTextAsyncの1つのメソッドでファイルのすべてを読み込むことができるので非常に便利です。このテキストファイルが非常に巨大だった場合どうなるでしょうか。ReadTextAsyncは非同期メソッドですがいつまでも非同期読み込み処理が終わらず、巨大なデータのすべてが必要でない場合余計なデータまで読み込むためアプリのレスポンスが悪くなります。ファイルの読み込みもそうですが、動画のネットワークデータ転送などの場合、すべてのデータを転送しないと動画を再生できないようなアプリケーションは非常に非効率的です。動画を現在転送できているデータ分だけ再生できるようにすべきです。そのような問題を解決するために、WindowsRuntimeではStreamという概念を用意しています。Streamとはデータが流れてくる川のようなもので、データを徐々に読み取ったりデータの一部だけ切り取って読み取ることができたりします。先ほども書いたように、ファイルの読み取りやネットワークデータ転送などのI/Oですべてのデータを転送しきってからじゃないと読み取れないのは非効率なのでStreamのインターフェースはさまざまな入出力で用意されています。WindowsRuntimeで用意されているStreamは以下の4つがあります。IOutputStreamはメモリからストリームへの書き込みStreamを提供します。IRandomAccessStreamは以下の継承関係の図のように、IInputStreamとIOutputStreamを継承、つまり読み込みと書き込みを提供します。InMemoryRandomAccessStreamはメモリ内からメモリ内へのストリームに限定したStreamを提供します。IInputStreamの実装を見てみます。ReadAsyncメソッドのみを提供しています。「何バイトを読み込む」ことしかできません。ReadAsyncを呼び出すたびにその数のバイトずつStreamから読み込むことができるので逐次的な読み込みを提供します。IOutputStreamの実装を見てみます。WriteAsyncとFlushAsyncの2つのメソッドを提供します。WriteAsyncはそのバッファのデータ分だけStreamに逐次的に書き込みを行います。FlushAsyncメソッドは少し特殊なメソッドでほとんど使用することがありません。Windowsはストリームからデータを書き込むときに内部バッファにデータをキャッシュします。内部バッファがいっぱいになったときか、一定時間内部バッファにアクセスがなかった場合、内部バッファのデータを書き込みます。内部バッファがデータを保持しているときにシステムがダウンするとファイルにデータが書き込まれないわけです。そこで重要なデータの場合、FlushAsyncメソッドを使用することで内部バッファのデータをファイルに即座に書き込みます。本当に重要なデータ以外でFlushAsyncメソッドを頻繁に使用するとアプリのパフォーマンスが低下してしまうためほとんどのアプリでFlushAsyncを使用する必要はありません。IRandomAccessStreamの実装を見てみます。