винда не прибавляет 189 мб дотнета к объему проги, ибо куча других компонентов и программ винды использует тот же дотнет и 189 мб оболочки расшарены на это все хозяйство.
pfg21, это тогда была бы та самая разделяемая память про которую я написал выше. Но ее по данным сос скриншота, сильно меньше.
У меня предположение, что дело тут в накладных расходах на контейнеризацию.
Delakey Blackhole, уточните: вы сравниваете потребление памяти программой в контейнере для Linux и запущенной без контейнера в Windows? Так это явно некорректное сравнение. Для примера можете попробвать запустить эту же программу в Windows-контейнере (такие существуют и вроде как, поддерживаются версией docker, которую адапртировала MS, подробностями, к сожалению, поделиться не могу).
PS У вас, кстати, программа использует не только 11M закрытой памяти процесса, но ещё и 37М разделяемой памяти (скорее всего, какие-то dll) Между контейнерами такая память, скорее всего, разделяться не будет.
А у вас та точно работает часть, которая ищет по атрибутам, связанным с именем, без memberOf
И где именно вы ищете по группам? Если вы ищете в глобальном катлоге (порт 3268/3269), имейте в виду, что в него попадают только универсальные группы.
PS И не лучше ли не изобретать велосипед для поиска по атрибутам, связанным с именем, а использовать ambiguous name resolution, уже встроенную в AD (см. например https://windowsnotes.ru/activedirectory/ldap-filtr... )
Чтобы не ждать телепатов и ясновидящих, укажите, как минимум, тип значения переменной product в первом отрывке и что собой представляет ProductType: доступные публично свойства и методы, хотя бы те, что важны для задачи, в частности - методы неявных преобразований, если есть.
А то совершенно непонятно "кто на ком стоял"(с).
#, не страшно. Я этот алгоритм быстро распознал не потому, что я все алгоритмы наизусть выучил, а потому что я в ту область недавно лазил чисто по собственным делам и собственному любопытству - вон он у меня в голове и закэшировался.
PS Ну а про фокус с тремя XOR в .NET пусть JIT беспокоится - он наверняка о нем знает: больно уж древний он.
#, swap там по смыслу алгоритма - обмен i-го и j-го элементов массива, а не i и j.
Это, вообще-то - алгоритм построения heap (по-русски мне нравится вариант перевод из советского перевода 3-го тома Кнута - "пирамида"), у Кнута он появляется как часть(полвинка, реально) heap sort. Можете заглянуть туда за подробностями, пирамида там, правда, строится в обратном порядке, чем у автора вопроса - в начало вытаскивается больший элемент, а не меньший. Ну - или в любую книжку по алгоритмам, где heap sort есть.
PS Кстати, если элементы массива не слишком длинные (помещаются в операнд команды XOR), то предки завещали нам менять их в памяти прямо по месту, тремя команами XOR - есть такой трюк. Но это уже, наверное, не для C#.
ctacua, добавление имени тоже требует выпуска нового сертификата, так что вы от этого процесса никуда не денетесь, если хотите имя без www использовать.
А как это сделать - это зависит от интерфейса CA, который вам сертифкат выпускает.
Надо не "выпустить новый" на другое имя, а добавить имя mybt.top в поле дополнительных имен (Secondary Alternate Name) с типом DNS наряду с уже существующим там именем www.mybt.top. Иначе редирект по https работать не сможет.
Nik Faraday, Я по-прежнему не свосем понимаю, что вы делаете. GenericRepository - это ведь полноценное веб-приложение, если я вас праивльно понял, а вы хотите его использовать как библиотеку, так. Ну, в таком случае, эта библиотека должна как-то получить доступ к DI-контейнеру основного приложения. Код инициализации в Program.Main (т.е. в упрощенном синтаксисе - вне всех классов), даже если и выполняется(в чем я не уверен, кстати), то создает свой объект WebApplication со своим DI-контейнером, конфигурацией и т.п. Так что про основное приложение и его настройки он не знает.
Если библиотека как приложение выполняется независимо, то передать информацию, наверное, проще всего будет через конфигурацию, через свою переменную в ней.
Но, наверное, так лучше вообще не делать, а подключить как зависимость как нормальную библиотеку классов во все проекты, где она должна быть, создать в нужном месте объекты этих классов (если нужен контейнер DI - с помощью ActivatorUtilities) и вызывать их методы.
Например, очивидным образом - по очереди: снчала - на один, потом - на другой(подставьте id его карточки, и класс самого элемента, если он другой). Что не устраивает?
Зачем DI? IWebHostEnvironment доступен для WebApplication (у вас это - переменная app) через свойство Environment. Посмотрите, что у вас там содержится.
PS Не понял взаимоотношения вашего "другого проекта" и "основного проекта". Что это, по каким шаблонам сделано? Как они друг с другом вообще связаны?
Я не знаю, что за задачу вы решаете.
Сейчас я тут не вижу, зачем вам вообще нужен фоновый сервис. Если сейчас, когда он завершается, программа вполне успешно работает с экземпляром браузера, ссылка на который хранится в статической переменной, то фоновый сервис вообще не нужен.
LdapIpAddress
Читайте описание параметра в редакторе: "там все написано"(с).
Записи A с именем потом, после применения политики, уберите или исправьте вручную.
Если ещё актуально. В вашем случае я прежде всего бы убедился, что нет проблем с репликацие БД между серверами DAG - например, посмотрев очереди командами Get-MailboxCopyStatus: возможно, из-за задержек в репликации не идет отбивка от службы доставки сообщений, что теневая копия больше не нужна.
Спасибо надо говорить владельцам баннерных сетей, начиная с Гугла, которые убедили пользователей, что нужна поддержка именно их монополии на рекламу под предлогом безопасности. Часто - предлогом фальшивым: ну, в чем опасность смотреть сайт СМИ и прочую общедоступную информацию по незащищенному каналу? Всю жизнь так радио слушали и газеты смотрели - и ничего. Ну - кроме опасностей для владельца баннерной сети, что его рекламу подменят - но пльзователям-то что с того?
Впрочем, конкретно к ВК ни ваше, ни мое спасибо не относятся - в социальных сетях информация всё же приватная, хотя бы отчасти.
Вячеслав Иванов, если EMS не работает - это само по себе есть проблема, и решать надо, прежде всего, её. Для начала, раз уж у вас речь пошла про сертификаты, проверьте через консоль управления IIS сертификат для внутреннего сайта Exchange (который слушает на 444 порту), только не торопитесь исправлять - там есть нюансы.
А пока можно временно, для диагностики, загрузить модуль Exchange в обычную сессию Powershell (см. к примеру здесь) и выполнить команду через нее (надо делать это из-под учетной записи с правами администратора леса и одновременно адимнистратора локального сервера Exchange).
PS Приведенные вами сообщения об ошибках IMAP не касаются: первое - про необязательную поддержку с TLS в SMTP , без которой жить можно, а второе - вообще про функциональность, которую вы вряд ли используете: у вас ведь нет гибридного (с использованием облака MS) разверьывания или единой организации Exchange для нескольких лесов?
pfg21, это тогда была бы та самая разделяемая память про которую я написал выше. Но ее по данным сос скриншота, сильно меньше.
У меня предположение, что дело тут в накладных расходах на контейнеризацию.