Власти скрывают™ 3
Под катом стишок. Стырено из
lipetsk. Автор неизвестен.
Какой-то из апдейтов отключил мне, сцуко, гуглоаналитикс, поэтому данные только за сегодняшнюю ночь. Вот как находят мой бложек:
| Ключевое слово | Посещения |
| (not set) | 1 |
| в саратове разрыли могильник | 1 |
| книпель | 1 |
| липецк + легочный тиф | 1 |
| липецк+легочный тиф | 1 |
| могильник чумы саратов | 1 |
| саратов — легочная чума | 1 |
| саратов могильники чума | 1 |
| эпидемия в липецке | 1 |
Под катом стишок. Стырено из
lipetsk. Автор неизвестен.
Я недавно постил про то, что власти скрывают™. Так вот! Хитрые зомби из Липецка, видимо, прочитали в моём блоге, что их собираются накрыть ядерными бонбами и совершили дерзкое нападение на Саратов.
Потырено у
adontz
Итак, всем известно, что власти скрывают ™. На днях был в Липецке. Туда заезжал автобусом из Воронежа, оттуда уезжал поездом на Москву. Наслушался много разного.
И это всё на фоне 28 погибших от осложнений после гриппа с 1го сентября. Я считаю, что подобных пеарщиков искать надо у фармацевтов. Маски подскочили с 2 до 25 рублей, арбидол и прочая херота — в 2-3 раза. А если найдут — надо судить и сажать, ибо разводить панику у населения — нельзя.
UPD: по наводке
strelnikov-m добавил ещё.
Это гениально я считаю. Брать деньги за бету
Вру, под катом, конечно же не нож, а устройство для выполнения спасательных работ. Под катом фото и заключение от МВД. Думаю, не купить ли на НГ себе?
Небольшой рассказик. От Шапиро Максима Анатольевича.
«Уважение культурных традиций»
Вы знаете, какая разница между её IQ и моим? 91 единица. Если сравнивать, она ближе к гиббону, чем ко мне. Заниматься с ней сексом… равносильно скотоложеству.
Какие проблемы у мужиков с IQ 178
Грабли, как мне кажется, есть везде. В своё время, ни одна библиотека не прошла мимо меня в проект, кроме, пожалуй, Infragistics, без доработки. Поговорим о граблях в System.AddIn.
Для начала порекомендую прочитать статью в блоге Джейсона Хи (Jason He), которая называется «Coding patterns to avoid in addin pipeline development». Да и вообще, его блог почитать надо, он поподробнее Walkthrough в MSDN.
Итак, первая грабля, на которую я наступил: дефолтные домены работают без ShadowCopy, как следствие, заменить сборки на горячем сервере мы не можем. Ок, нам особо и не надо, сделаем домен сами:
[cc lang="csharp"]
AddInStore.Update(pipelineRootFolderPath);
Collection tokens = AddInStore.FindAddIns(typeof(IView), pipelineRootFolderPath);
AddInToken calcToken = tokens[0];
AppDomain domain = AppDomain.CreateDomain(string.Format(«Test {0}», DateTime.Now), null, new AppDomainSetup { ShadowCopyFiles = «true» });
return calcToken.Activate(domain);
[/cc]
Затем мы работаем, всё ок. Для выгрузки аддона используем такой код: [cci lang="csharp"]AddInController.GetAddInController(calc).Shutdown()[/cci]. По идее всё хорошо, но есть одно но. Из-за того, что мы домен создали вручную, то автоматически инфраструктура System.AddIn его не выгрузит. Да, это может быть логично, но об этом нигде не написано.
Код ниже логичен, но будет падать, несмотря на то, что ссылка на домен у контроллера есть, и она живая. Просто разработчики посчитали, что раз AddIn отключен, то домен нам уже не нужен. Вообще, реализация AddInController’a с [cci lang="csharp"]lock(this)[/cci] и прочим меня ни разу не порадовала.
[cc lang="csharp"]
AddInController c = AddInController.GetAddInController(calc);
c.Shutdown();
AppDomain.Unload(c.AppDomain);
[/cc]
Правильный код вот такой:
[cc lang="csharp"]
AddInController c = AddInController.GetAddInController(calc);
AppDomain d = c.AppDomain;
c.Shutdown();
AppDomain.Unload(d);
[/cc]