2017-11-05 15 views

答えて

0

すべてのコントローラは同じAzure SQLリソースとBLOBストレージを使用しますが、どこで同じ宣言を繰り返すようにすべてのパラメータを定義できますか?私の理解パー

、あなたは、コントローラの基本クラスを定義して、基本クラスの下で、あなたのリソースを定義することができ、その後、各コントローラ は、基本クラスを継承し、その後、あなたは、基本クラスの下で事前に定義されたリソースを再利用することができ。

ベースTableController:

public class TableControllerBase<TData>: TableController<TData> where TData : class, ITableData 
{ 
    public CloudBlobClient BlobClient { get; } 

    protected override void Initialize(HttpControllerContext controllerContext) 
    { 
     base.Initialize(controllerContext); 
     MobileServiceContext context = new MobileServiceContext(); 
     DomainManager = new EntityDomainManager<TData>(context, Request); 

     //initialize your resources (e.g. BlobClient) 
     // Retrieve storage account from connection string. 
     CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
      CloudConfigurationManager.GetSetting("StorageConnectionString")); 
     // Create the blob client. 
     CloudBlobClient BlobClient = storageAccount.CreateCloudBlobClient(); 
    } 
} 

あなたTableControllerのために、あなたは次のように基底クラスを継承する必要があります。次は、あなたがそれを参照することができる、サンプルコードで

public class TodoItemController : TableControllerBase<ToDoItem> 
{ 
    //CURD 
} 

さらに、Azure Mobile Appsの開発について、adrian hallの書籍hereに従うことをお勧めします。

+0

このクラスは、どのファイルに配置されますか?それは別のC#ファイルですか? – user8400863

+0

私は 'Controllers'フォルダの下に新しいC#ファイルを作成したいと考えています。 –

+0

関連するコントローラのコードスニペットを使用して質問を更新することもできます。質問をよりよく理解して解決策を提示することができます。どんな懸念も、私に知らせてください。 –

関連する問題