Настройка параметров службы IIS WCF без перезапуска службы или IIS - PullRequest
0 голосов
/ 15 марта 2019

В настоящее время я создаю службу WCF, размещенную на IIS. Однако есть некоторые из моих параметров, которые жестко закодированы как строки внутри службы, и я хотел бы иметь возможность изменять их без перезапуска службы или IIS.

Я думал о том, чтобы прочитать их из файла, но желательно, чтобы параметры не регулировались кем-либо, кроме меня. Затем я подумал о создании отдельной библиотеки с параметрами и добавлении ее в качестве зависимости к основному проекту. Всякий раз, когда мне приходилось менять параметры, я просто переключал библиотеку в папке bin проекта на IIS, но я не знаю, возможно ли это вообще.

Вы можете думать о том, что я пытаюсь выполнить, как модуль лицензирования. Скажем, у меня есть лицензионный код и дата в моем файле / библиотеке, и каждые 3 месяца (в противном случае служба не будет работать), я должен заменить ее (если клиент обновится), и только я могу это сделать. Я понимаю, что это, вероятно, не то, как вы бы делали лицензирование, это просто пример.

Peter

1 Ответ

0 голосов
/ 17 марта 2019

Вы, вероятно, знаете, что если это приложение .NET, его очень легко декомпилировать и патчить.

Вы можете использовать DPAPI для шифрования следующим образом: 1. Создайте приложение winform / console, которое будет выполнять шифрование с использованием контекста «LocalMachine» или выделенного пользователя на этом сервере. 2. Зашифруйте секретную строку с этим приложением. 3. Расшифруйте секрет при запуске веб-приложения с помощью LocalMachine или запустите пул приложений с выделенным пользователем.

Включите ссылку на System.Security, затем сделайте что-то вроде ниже, и все готово.

Шифрование пароля DPAPI в C # и сохранение в базе данных. Затем расшифровка с помощью ключа

...