Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 27.09.2016
Сообщений: 5

Изменение конфигурации работающего Windows сервиса на-лету | runtime

27.09.2016, 17:53. Показов 1036. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приложение написано с использованием Ninject
Регистрируется как Windows сервис
В процессе активации через ядро (Kernel) загружаются модули (NinjectModule) с многочисленными привязками (Bind)
Для некоторых привязок указываются параметры (WithConstructorArgument)
По умолчанию, при старте параметры считываются из конфигурационного файла, и сервис стартует как WCF
Нужно дать возможность, вызывая специальный метод сервиса переопределять некоторые параметры привязок. Ну, например, это параметры соединения с SQL-сервером, логин или что-то еще. Т.е., не перезапускать сервис заново, а именно переопределить параметры уже работающего экземпляра
Я понимаю, что как-то надо найти через Kernel работающий инстанс сервиса, его модули и сделать, например
C#
1
2
var config = new myConfig() { ConnectionString = password };
var kernel = new StandardKernel(new DataAccessModule(config));
при этом, в DataAccessModule сказано:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
private readonly myConfig _config;
 
public DataAccessModule(myConfig config)
{
    _config = config;
}
 
public override void Load()
{
    Bind<IRepository>().To<SqlRepository>()
        .InSingletonScope()
        .WithConstructorArgument(typeof(string), _config.ConnectionString);
}
а в SqlRepository:
C#
1
2
3
4
5
public string _connectionString;
public SqlRepository(string connectionString)
{
    _connectionString = connectionString;
}
но что-то ничего не получается...
причем, я даже уже вижу после "var kernel = new StandardKernel...", что ConnectionString в SqlRepository меняется, но последующие вызовы методов сервиса происходят с параметрами, установленными при первоначальном старте

как сделать, что бы изменения применились к работающему инстансу сервиса?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.09.2016, 17:53
Ответы с готовыми решениями:

Создание непрерывно-работающего веб-сервиса
Здравствуйте! Я новичок в веб-сервисах, не знаю ещё всех их возможностей. Но у меня такой вопрос: Можно ли, а если да - то как, создать...

Windows Runtime и Phone Runtime App: событие Suspend
Скажите , когда наступает событие OnSuspend для приложения (Phone и Runtime) а то я тестирую и так и сяк, а оно у меня ни в каких случаях...

Проектирование HTTP сервиса, без изменения конфигурации основной базы
Здравствуйте, уважаемые форумчане. Есть задача, в которой испытываю трудности с проектированием корректного решения по развертыванию http...

2
 Аватар для Cupko
658 / 595 / 171
Регистрация: 17.07.2012
Сообщений: 1,682
Записей в блоге: 1
27.09.2016, 23:02
sheich, эм, убрать InSingletonScope()?
0
0 / 0 / 0
Регистрация: 27.09.2016
Сообщений: 5
28.09.2016, 01:20  [ТС]
так ведь InSingletonScope() вроде бы как раз и говорит о том, что создается только один инстанс для всех последующих обращений в том числе?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.09.2016, 01:20
Помогаю со студенческими работами здесь

Wordpress изменение страницы на лету
на главной странице есть слайдер. Всё работает прикрасно. Но во если ползователь зарегистрируется то слайдер показываться не должен. можно...

Изменение части кода на лету
Мне надо изменить часть кода вот пример if (textBox1.Text == &quot;111&quot;) { }Мне при нажатии на кнопку в форме надо изменить 111 на...

Dataset (после изменение конфигурации БД не могу внести изменение)
Использую типизированный dataset после изменение конфигурации бд не могу внести изменение.Dataset изменял набор данных, настроив запрос, но...

Изменение содержимого web-страниц на лету
Здравствуйте уважаемые эксперты, подскажите пожалуйста, а лучше приведите пример или ткните носом куда рыть. Каким образом возможно...

Возможно изменение частоты на лету в мега8?
Я так понял по даташиту что нет.Получается придется использовать мега88. Трудно будет переделывать проект под 88?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru