27
Ноя

story

Небольшой рассказик. От Шапиро Максима Анатольевича.

«Уважение культурных традиций»

Прочитать запись полностью »

26
Ноя

хаус

Вы знаете, какая разница между её IQ и моим? 91 единица. Если сравнивать, она ближе к гиббону, чем ко мне. Заниматься с ней сексом… равносильно скотоложеству.

Какие проблемы у мужиков с IQ 178 :D

Метки: , ,

Грабли, как мне кажется, есть везде. В своё время, ни одна библиотека не прошла мимо меня в проект, кроме, пожалуй, 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]

Метки:

24
Ноя

podcasts

Подборка подкастов по .Net жжёт не по детски. Обновляют рсс редко, раз в полгода, зато сразу на 50 кастов от 10 минут до часа.

23
Ноя

butthurt

[info]lord_haart навёл на замечательную темку на ивофоруме. Вкратце: чувак сидел на форуме с работы и аццки всех троллил. Достал админов, те написали телегу ему на работу. На работе провели служебное расследование, чувака нашли и выдали люлей. 50 страниц вайна «админы, так нельзя» доставляют.

Метки:

Около дома есть кафе. В кафе есть бизнес-ланчи, о чём гласит зазывательная фигня на улице. Фотка под катом.

Прочитать запись полностью »

Да, кстати,  положу-ка я здесь свою реферрал ссылку на сервис уже упомянутого Макса Крайнова «4 конверта». Да, кто в принципе не юзает реферрал ссылки, могут воспользоваться обычной.

На мой взгляд, крайне удобный сервис.

Метки: ,

Под катом шедевр магазиностроения в сети, зато с модным значком рубля.
Прочитать запись полностью »

Метки: ,

Паранойя инкаминг

Метки:

15
Ноя

Кризис

А вот резюме. Я, если честно, думаю, что это шутка.

Ну или что не найдётся ни одного вменяемого работодателя, который это чудо наймёт.

Метки: ,

Страница 33 из 50« Первая...1020...3132333435...4050...Последняя »