2011-10-02 2 views
0

Я искал некоторые образцы Azure и делал некоторые общие поиски вокруг Table Storage. Я заметил немного шаблона, использующего OnStart и статический конструктор. Например, следующий код кода находится в обоих местах:Azure Table Storage OnStart Constructor Query

// Get connection string and table name from settings. 
connectionString = RoleEnvironment.GetConfigurationSettingValue("StorageConnectionString"); 
tableName = RoleEnvironment.GetConfigurationSettingValue("TableName"); 

// Reference storage account from connection string. 
storageAccount = CloudStorageAccount.Parse(connectionString); 

// Create Table service client. 
tableClient = storageAccount.CreateCloudTableClient(); 

Мой вопрос: почему в обоих местах? Неужели это просто дублирование? Статический конструктор будет вызываться, как только мы начнем работать с типом данных, в то время как OnStart будет запускаться при запуске приложения.

Лично я думаю, что статический конструктор имеет больше смысла.

Я просто хочу, чтобы убедиться, что я понять вещи правильно,

Марка

+0

Можете ли вы поделиться примером того, где вы это видите? Может ли быть, что статический конструктор и реализация OnStart находятся в разных ролях или разных процессах в пределах одной и той же роли (например, ASP.NET и соответствующий RoleEntryPoint)? – smarx

+0

Я использовал образец адресной книги Windows Azure (http://code.msdn.microsoft.com/windowsazure/Windows-Azure-AddressBook-026fcbbb) – markpirvine

ответ

0

В примере вы поделились, я могу найти два места, где есть аналогичный код. Один из них находится в OnStart (в RoleEntryPoint), а один находится в статическом конструкторе в классе DataLayer. DataLayer, как представляется, используется в веб-приложении (работает под IIS), поэтому другой класс в другом процессе от RoleEntryPoint.

Предполагается, что в RoleEntryPoint инициализируется хранилище (создание таблицы) до запуска приложения. Кажется, что в DataLayer инициализируются некоторые переменные, чтобы избежать повторения кода в других методах (синтаксический анализ строки подключения, создание экземпляра клиента).

Смежные вопросы