Azure SDK 1.7 -> 1.8 или как потерять 1000р за один апдейт

Еще в октябре прошлого года одновременно с MSVS2012 появилась версия Azure SDK 1.8 и казалось, что это чисто формальное обновление связанное с переходом на новую Visual Studio. Конечно есть и улучшения, такие как поиск по имени ошибки во многочисленных логах IntelliTrace (как можно было не догадаться сделать это с самомго начала?). Возможно рано или поздно у нас также появится средства для нормальной работы с blobstorage из самой студии. Однако, подозрения, что с 1.8 что-то не так начали появляться сразу, о чем был поднять вопрос в сообществе по рекламе Azure в России.

По опыту выяснилось,что
1) В результате автоматического обновления ссылки на библиотеки 1.8 ставятся CopyLocal = False, даже если до этого у вас стояло копирования этой библиотеки.
2) Уничтожен класс CloudConfigurationManager, отвечавший за получение настроек роли. Вместо него можно использовать RoleEnvironment.GetConfigurationSettingValue("Diagnostics.ConnectionString"); С той лишь разницей, что последняя может падать, если RoleEnvironment.IsAvailiable = false.Например, если обратиться до завершения WebRole.OnStart
3) И самое страшное проиллюстрирую следующим кодом. Заключается в различной обработке Таблицами параметров содержащих символов попадающих под UrlEncode.
Copy Source | Copy HTML
  1. string pageuri = pageElement.Attribute("uri").Value.ToLower().Replace("/default.aspx", "/");
  2. string pageuri_encoded = HttpUtility.UrlEncode(pageuri);
  3. SapePageAzure result = (from e in CreateQuery()
  4.                         where e.RowKey == pageuri_encoded &&
  5.                         e.PartitionKey == partitionid select e).FirstOrDefault();
  6. if (result == null)
  7. {
  8.     result = new SapePageAzure
  9.     {
  10.         RowKey = pageuri,
  11.         PartitionKey = partitionid,
  12.         LastAccess = DateTime.Now
  13.     };
  14.     ContainerTable.AddObject(TableName, result);
  15.     //ContainerTable.SaveChangesWithRetries();
  16. }

Если в Azure SDK1.7 нужно было использовать в обоих местах pageuri_encoded, и в выворе и во вставке. То в Azure SDK1.8 добавилась скрытая перекодировка, и получилось, что при выборе параметров из таблицы нужно использовать pageuri_encoded, а при вставке pageuri, так как теперь кодируется автоматически.
Как результат - все блоги из blogscloud.ru, которые синхронизированы с Sape и хранят набор ссылок в виде URL в таблицах, перестали корректно работать. Sape обнаруживает, что все ссылки на сайтах не отображаются и блокирует все сайты отправляя их на повторную можерацию. End of story.


PS: По случаю отзыв про tfspreview.com - возможность бесплатного использования TFS2012 для одиноких разработчиков. В общем ни в коем случае не расчитывайте на нее. Очень сильно тормозит и не дает чекинить большое количество документов. Появилось сие творение видимо потому, что все нормальные платные TFS провайдеры, такие как discountasp.net не смогли или не захотели вовремя предоставить TFS2012 для коммерческих пользователей.

Метки:   Категории:Analytics | Csharp | microsoft | Code


blog comments powered by Disqus

Добавить комментарий

Кто я?

Программист. Я слежу за блогосферой и знаю, как будет развиваться интернет. Когда у меня есть время я даже прилагаю для этого усилия. Подробнее

Последние комментарии

Не отображать

Topbot at FeedsBurner

Мои Твиты

Twitter июля 21, 06:27
Украина готовит на Евровидение песню с быками http://dlvr.it/QcGlCH

Twitter июля 21, 06:27
Суммарная капитализация криптовалют http://dlvr.it/QcGl8J

Twitter июля 21, 06:27
В Твиттере начался обвал фолловеров http://dlvr.it/QcGl9p

Twitter июля 20, 13:36
Разбор трилогии Матрицы (The Matrix Trilogy) http://dlvr.it/QcBwFH https://twitter.com/f1ashr/status/1020301316550086656/photo/1

Twitter июля 20, 01:04
Чем белые отличаются от черных? http://dlvr.it/Qc7sJx https://twitter.com/f1ashr/status/1020112062507233281/photo/1

Twitter июля 19, 23:57
Победа свободы над здравым смыслом http://dlvr.it/Qc7fVm https://twitter.com/f1ashr/status/1020095354983731201/photo/1

Twitter июля 19, 22:17
Роскомнадзор планирует заблокировать IP сайта t30p http://dlvr.it/Qc7JG9

Twitter июля 19, 20:39
коломенский кремль: альтернативная история 2 http://dlvr.it/Qc6v6H https://twitter.com/f1ashr/status/1020045378324914176/photo/1

Twitter июля 18, 22:44
Трансляции Одноклассников (http://Ok.ru/live) добавлены в t30p http://dlvr.it/Qc18JK https://twitter.com/f1ashr/status/1019714458350891009/photo/1

Twitter июля 18, 22:44
Теневой бизнес ГИБДД http://dlvr.it/Qc18HP https://twitter.com/f1ashr/status/1019714453678436352/photo/1

Twitter июля 18, 22:44
Непонятные конкурсы в Твиттере http://dlvr.it/Qc188b https://twitter.com/f1ashr/status/1019714448993337344/photo/1

Twitter июля 18, 22:44
Текущая ситуация с инстаграммом http://dlvr.it/Qc186r

Twitter июля 18, 22:12
Пользователи умудрились поломать гео-локацию в Инстаграм http://dlvr.it/Qc12Fq

Twitter июля 18, 22:12
Разбор сериала Рассказ служанки http://dlvr.it/Qc1228 https://twitter.com/f1ashr/status/1019706394503667714/photo/1

Twitter июля 18, 22:12
Разбор сериала "Мир Дикого Запада" http://dlvr.it/Qc120F

Twitter июля 18, 21:08
Google Lunar X Prize - за 10 лет никто не смог запуститься на Луну http://dlvr.it/Qc0myX https://twitter.com/f1ashr/status/1019690286862102528/photo/1

Twitter июля 18, 21:08
Китайский интернет http://dlvr.it/Qc0mtX https://twitter.com/f1ashr/status/1019690280860053504/photo/1

Twitter июля 18, 20:34
Левитирующие объекты в Японии http://dlvr.it/Qc0dvs

Twitter июля 14, 22:59
Диджеи будущего http://dlvr.it/QbZSKL

Twitter июля 14, 20:46
Китай: скрытая угроза http://dlvr.it/QbZ5XZ

Мой твиттер

Копирайт

Все мысли, высказанные в блоге, являются моим мнением и за это мнение меня никто не забанит! Кроме того, никто не имеет право копировать материалы блога без использования ctrl+C/V!

© Copyright 2008