Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Рис. 13 Настройка целевой платформы для проекта (Visual C#) Для проектов Visual Basic. В окне свойств перейдите на страницу Компилятор и щелкните Дополнительные параметры компилятора. В диалоговом окне Дополнительные параметры компилятора выберите. NET Framework 4 в раскрывающемся списке Целевая платформа и нажмите кнопку ОК.
Рис. 14 Настройка целевой платформы для проекта (Visual Basic) Примечание. Профиль клиента в данном случае не подходит, поскольку для получения данных журнала из хранилища таблиц приложение будет использовать API-интерфейс StorageClient. Этот API-интерфейс работает на основе функций, которые имеются только в полной версии платформы. NET Framework 4. Если на экране откроется диалоговое окно Изменение целевой платформы, нажмите кнопку Да.
Рис. 15 Изменение целевой платформы Добавьте ссылки на сборки, которые требуются для этого проекта. Для этого в обозревателе решений щелкните правой кнопкой мыши проект LogViewer и выберите команду Добавить ссылку. В диалоговом окне Добавление ссылки перейдите на вкладку. NET и, удерживая нажатой клавишу CTRL для выбора нескольких элементов, выберите System. Configuration, Microsoft. WindowsAzure. StorageClient и System. Data. Services. Client, а затем нажмите кнопку ОК. Теперь добавьте в решение ссылку на диагностический проект. Повторите предыдущий шаг и откройте диалоговое окно Добавление ссылки, только на этот раз перейдите на вкладку Проекты, выберите проект AzureDiagnostics и нажмите кнопку ОК. Добавьте в проект класс для отображения простого индикатора выполнения в окне консоли. Для этого в обозревателе решений щелкните правой кнопкой мыши проект LogViewer, укажите команду Добавить и выберите Существующий элемент. В диалоговом окне Добавление существующего элемента перейдите в папку Assets в папке Source практической работы, выберите папку, соответствующую языку проекта (Visual C# или Visual Basic), выберите файл ProgressIndicator.[cs|.vb] и нажмите кнопку Добавить. В обозревателе решений дважды щелкните файл Program. cs или Module1.vb, чтобы открыть его и вставить в начало файла следующие объявления пространств имен. (Фрагмент кода Ї WindowsAzureDebugging-Ex1-LogViewer namespaces-CS) C# using System. Configuration; using System. Data. Services. Client; using System. Threading; using Microsoft. WindowsAzure; using Microsoft. WindowsAzure. StorageClient; using AzureDiagnostics; (Фрагмент кода Ї WindowsAzureDebugging-Ex1-LogViewer namespaces-VB) Visual Basic Imports System. Configuration Imports System. Data. Services. Client Imports System. Threading Imports Microsoft. WindowsAzure Imports Microsoft. WindowsAzure. StorageClient Imports AzureDiagnostics В проекте Visual Basic измените функцию Sub Main, сделав ее Public и добавив параметр строкового массива с именем args. Visual Basic Module Module1 Public Sub Main(ByVal args() As String) End Sub End Module Определите следующие (выделенные) элементы в классе Program (для проектов Visual C#) или в модуле Module1 (для проектов Visual Basic). (Фрагмент кода Ї WindowsAzureDebugging-Ex1-LogViewer static members-CS) C# class Program { private static string lastPartitionKey = String. Empty; private static string lastRowKey = String. Empty; static void Main(string[] args) { } } (Фрагмент кода Ї WindowsAzureDebugging-Ex1-LogViewer static members-VB) Visual Basic Module Module1 Private lastPartitionKey As String = String. Empty Private lastRowKey As String = String. Empty Public Sub Main(ByVal args() As String) End Sub End Module Затем вставьте метод QueryLogTable в этот класс или модуль. (Фрагмент кода Ї WindowsAzureDebugging-Ex1-QueryLogTable method-CS) C# class Program { ... private static void QueryLogTable(CloudTableClient tableStorage) { TableServiceContext context = tableStorage. GetDataServiceContext(); DataServiceQuery query = context. CreateQuery<LogEntry>(TableStorageTraceListener. DIAGNOSTICS_TABLE) .Where(entry => entry. pareTo(lastPartitionKey) > 0 || (entry. PartitionKey == lastPartitionKey && entry. pareTo(lastRowKey) > 0)) as DataServiceQuery; foreach (AzureDiagnostics. LogEntry entry in query. Execute()) { Console. WriteLine("{0} - {1}", entry. Timestamp, entry. Message); lastPartitionKey = entry. PartitionKey; lastRowKey = entry. RowKey; } } ...
НЕ нашли? Не то? Что вы ищете?
Проверка
Рис. 16 Настройка автоматически запускаемых проектов для решения Нажмите клавиши CTRL + F5, чтобы запустить приложение, не подключая к нему отладчик. Опять же при этом будут воссозданы условия, в которых приложение работает после развертывания в облаке. Подождите завершения развертывания, пока в браузере не откроется главная страница приложения. Заполните открывшуюся в окне браузера форму, выбрав «PORSCHE» в качестве значения поля Марка автомобиля и «BOXSTER (BAD DATA)» в качестве значения поля Модель. Обратите внимание на то, что на этот раз, поскольку вы включили параметр customErrors в файле Web. config, приложение отображает стандартную страницу с сообщением об ошибке вместо подробных сведений об исключении, которые отображались ранее. Именно эту страницу вы бы увидели, если бы приложение было развернуто в Windows Azure.
Рис. 17 Ошибка приложения при включенном параметре customErrors Ознакомьтесь с данными, отображаемыми в приложении просмотра журнала. Обратите внимание, что, несмотря на ошибку, окно консоли все еще пусто, поскольку в настоящее время прослушиватель трассировки хранилища таблиц отключен. Переключитесь в среду Visual Studio и в обозревателе решений разверните узел Роли проекта FabrikamInsuranceService, а затем дважды щелкните роль FabrikamInsurance, чтобы открыть окно ее свойств. Перейдите на страницу Параметры и измените значение параметра EnableTableStorageTraceListener на true. Нажмите CTRL + S, чтобы сохранить внесенные в конфигурацию изменения. Откройте консоль эмулятора вычислений, щелкнув ее значок, расположенный в области уведомлений, правой кнопкой мыши и выбрав пункт Показать пользовательский интерфейс эмулятора вычислений. Запишите идентификатор текущего развертывания. Это заключенное в скобки числовое значение, которое указано рядом с меткой развертывания.
Рис. 18 Пользовательский интерфейс эмулятора вычислений, в котором показан идентификатор текущего развертывания Теперь откройте командную строку пакета Windows Azure SDK, выбрав Пуск | Все программы | Windows Azure SDK v1.X | Командная строка Windows Azure SDK. Чтобы запустить командную строку от имени администратора, щелкните ее ярлык в меню Пуск правой кнопкой мыши и выберите Запуск от имени администратора. Измените текущий каталог на расположение облачного проекта FabrikamInsuranceService внутри папки текущего решения. В этой папке находятся файлы конфигурации службы, выберите ServiceConfiguration. Local. cscfg. В командной строке выполните следующую команду, чтобы обновить конфигурацию работающего развертывания. Замените заполнитель [DEPLOYMENTID] на значение, которое вы записали ранее. Командная строка Windows Azure csrun /update:[DEPLOYMENTID];ServiceConfiguration. Local. cscfg
Рис. 19 Обновление конфигурации работающей службы Примечание. При работе с приложениями, развернутыми в облаке, конфигурация действующего приложения обычно обновляется через портал разработчиков Windows Azure или при помощи API-интерфейса управления Windows Azure, который используется для передачи нового файла конфигурации. После обновления конфигурации и включения прослушивателя трассировки вернитесь в окно браузера, перейдите на страницу Калькулятор и снова введите те же параметры, которые ранее вызвали ошибку (марка «PORSCHE», модель «BOXSTER (BAD DATA)»). Затем нажмите кнопку Рассчитать, чтобы снова отправить форму. В ответ вы должны опять получить страницу с сообщением об ошибке. Перейдите в окно средства просмотра журнала и подождите несколько секунд, пока оно не обновится. Обратите внимание на то, что теперь консоль показывает запись с сообщением об ошибке для необработанного исключения, что свидетельствует о том, что данные трассировки, сформированные работающим приложением, записываются непосредственно в хранилище таблиц.
Рис. 20 Средство просмотра, отображающее ошибку, занесенную в хранилище таблиц Для просмотра данных других информационных сообщений трассировки вернитесь в окно браузера и щелкните Сведения, а затем Калькулятор, чтобы выполнить оба действия в контроллере. Напомним, что вы вставили сообщения трассировки в начало каждого метода. Обратите внимание на то, что теперь в консоли средства просмотра отображается сообщение для каждого из этих действий.
Рис. 21 Средство просмотра, отображающее информационные сообщения трассировки для действий контроллера Находясь в окне средства просмотра журнала, нажмите любую клавишу, чтобы закрыть программу. И наконец, удалите работающее в эмуляторе вычислений развертывание. Для этого щелкните развертывание правой кнопкой мыши в представлении в виде дерева Развертывания служб и выберите Удалить. Сводка
Выполнение этой практической работы позволило вам познакомиться с простыми методами отладки, предназначенными для устранения неисправностей приложения Windows Azure после его развертывания в облаке. Вы узнали, как с помощью стандартных методов диагностики. NET записывать диагностические данные непосредственно в хранилище таблиц с помощью пользовательского прослушивателя трассировки.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 |


