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 января 17, 13:37
программа instagramliker обновлена 2018г http://dlvr.it/QBbVpV

Twitter января 16, 16:22
Разбор Звездные войны: Последние джедаи http://dlvr.it/QBSdwN https://twitter.com/f1ashr/status/953301465962921985/photo/1

Twitter января 14, 19:00
8 японок основали поп-группу для пропаганды криптовалют http://dlvr.it/QBC3cw https://twitter.com/f1ashr/status/952616326605938688/photo/1

Twitter января 7, 10:12
Белый шум защищен авторским правом на youtube http://dlvr.it/Q9DFXS

Twitter января 1, 20:52
Новогодние белки http://dlvr.it/Q8SyPZ https://twitter.com/f1ashr/status/947933468222152704/photo/1

Twitter января 1, 16:43
Популярные блогеры и посты за 2017 год http://dlvr.it/Q8RpTj https://twitter.com/f1ashr/status/947870931896082433/photo/1

Twitter января 1, 15:37
@true_policy @nickolas_vs @KremlinRussia @iremeslo Но Путин делает все, чтобы выборная система в глазах аборигенов стала нелегитимной.

Twitter января 1, 11:32
@true_policy @nickolas_vs @KremlinRussia @iremeslo Нужен не новый президент, а другой система. От демократии к респ… https://twitter.com/i/web/status/947792574697431040

Twitter декабря 31, 21:11
Самоуправляемые ездящие картошки http://dlvr.it/Q8MGMd

Twitter декабря 31, 13:34
Разбор сериала Медичи: Повелители Флоренции http://dlvr.it/Q8KDRt https://twitter.com/f1ashr/status/947460855972601857/photo/1

Twitter декабря 31, 11:32
Папа Римский выступил на TED http://dlvr.it/Q8Jjb5

Twitter декабря 31, 10:25
коломенский кремль: альтернативная история 2 http://dlvr.it/Q8JRYv https://twitter.com/f1ashr/status/947413453701971968/photo/1

Twitter декабря 31, 10:25
Суперлайки в Перископе http://dlvr.it/Q8JRYr

Twitter декабря 30, 15:16
Peace, Death! (Пиз Дец) http://dlvr.it/Q8Cv1S https://twitter.com/f1ashr/status/947124264259395584/photo/1

Twitter декабря 30, 15:16
Итоги 2016 года в Живом Журнале http://dlvr.it/Q8Ctw6 https://twitter.com/f1ashr/status/947124257149956096/photo/1

Twitter декабря 30, 13:39
Разбор сериала "Молодой папа" (теория общего знания, часть 22) http://dlvr.it/Q8CP7P https://twitter.com/f1ashr/status/947099721675370496/photo/1

Twitter декабря 30, 13:05
Механического медведя не починить - пятая песня FNAF http://dlvr.it/Q8CDG8 https://twitter.com/f1ashr/status/947091170844278784/photo/1

Twitter декабря 30, 10:55
Skype and Baidu links http://dlvr.it/Q8Bf03

Twitter декабря 30, 10:23
Яндекс атаковал Израиль http://dlvr.it/Q8BWKR

Twitter декабря 30, 10:23
По случаю 8 марта погасили статую свободы http://dlvr.it/Q8BW9V https://twitter.com/f1ashr/status/947050399160156161/photo/1

Мой твиттер

Копирайт

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

© Copyright 2008