テスターですが何か?

ホビープログラマ略してHPです

【日本語訳】Exploring Windows Azure Storage part11

leave a comment »

このエントリーはMSDNのチュートリアル「Exploring Windows Azure Storage」の「Task4 – Deleting Blobs from Storage」の日本語訳になります。このコンテンツ、日本語訳全体については、こちらのエントリーを参照してください。

 

Task4 – Deleting Blobs from Storage

このエントリーでは Windows Azure Storage から画像データを含んだ blob データを削除する機能をWebページに追加します。

 

1.gallery コンテナから画像データを削除する asp:LinkButton コントロールを ListView 内に追加します。Default.aspx を右クリックして、「マークアップの表示」を選択し、 asp:ListView コントロールの ItemTemplate 部分へ移動します。blobRepeater コントロールのすぐ下にあるASP.NETのマークアップ(“deleteBlob” の LinkButton)部分のコメントアウトを解除します。

            <ItemTemplate>            
                <div class="item">
                    <ul style="width:40em;float:left;clear:left" >
                        <asp:Repeater ID="blobMetadata" runat="server">
                        <ItemTemplate>
                            <li><%# Eval("Name") %><span><%# Eval("Value") %></span></li>
                        </ItemTemplate>
                        </asp:Repeater>
                        <li>
                            <asp:LinkButton ID="deleteBlob" 
                                    OnClientClick="return confirm('Delete image?');"
                                    CommandName="Delete" 
                                    CommandArgument='<%# Eval("Uri")%>'
                                    runat="server" Text="Delete" oncommand="OnDeleteImage" />                       

                        (中略)
                        </li>
                    </ul>
                    <img src="<%# Eval("Uri") %>" alt="<%# Eval("Uri") %>" style="float:left"/>
                </div>
            </ItemTemplate>

2.Default.aspx.cs / Default.aspx.vb に asp:LinkButtonコントロール(deleteBlob)のイベント処理を実装します。コード内ではストレージに blob が存在することを確認後に削除を行なっています。

(コードスニペット – ExploringWindowsAzureStorage-Ex02-09-OnDeleteImageMethod-CS)

        protected void OnDeleteImage(object sender, CommandEventArgs e)
        {
            try
            {
                if (e.CommandName == "Delete")
                {
                    var blobUri = (string)e.CommandArgument;
                    var blob = this.GetContainer().GetBlobReference(blobUri);
                    blob.DeleteIfExists();
                }
            }
            catch (StorageClientException se)
            {
                status.Text = "Storage client error: " + se.Message;
            }
            catch (Exception) { }
            RefreshGallery();
        }

(コードスニペット – ExploringWindowsAzureStorage-Ex02-09-OnDeleteImageMethod-VB)

    Protected Sub OnDeleteImage(ByVal sender As Object, ByVal e As CommandEventArgs)

        Try

            If e.CommandName = "Delete" Then
                Dim blobUri = DirectCast(e.CommandArgument, String)
                Dim blob = Me.GetContainer().GetBlobReference(blobUri)
                blob.DeleteIfExists()
            End If

        Catch se As StorageClientException
            status.Text = "Storage Client Error: " & se.Message
        Catch generatedExceptionName As Exception


        End Try

    End Sub

3.F5キーを欧亜して、ビルド・アプリケーションを実行しmす。

4.「Asset\Images」フォルダにある画像をいくつかアップロードし、Delete をクリックして対応する画像が削除されるか確認してみてください。

image

図20. BlobStorageから画像を削除する機能をついか

5.Shift+F5キーを押下し、を押下してデバッグを終了、Compute エミュレーター上に配置されたアプリケーションを削除します。

 

次は「Task5 – Copying Blobs」です。

Written by david9142

2011年12月18日 @ 11:33 AM

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。