Как сохранить пользовательские настройки для службы WCF? - PullRequest
0 голосов
/ 02 декабря 2009
  1. Люди говорят, что в библиотеках не должно быть файлов конфигурации.
  2. Я не могу передать аргументы моему классу обслуживания WCF с его хоста (но я могу с клиента).
  3. Я не хочу хранить конфигурацию на клиенте.
  4. Что мне делать?

Ответы [ 2 ]

2 голосов
/ 02 декабря 2009

Что ты спрашиваешь? Вы говорите о настройках сервиса (на стороне сервера) или клиента?

Почему вы не можете просто использовать файлы конфигурации на стороне клиента, как для других приложений? Это встроенный, предпочтительный способ ведения дел - зачем настаивать на том, чтобы его не использовать ??

Итак, еще раз: что на самом деле вы спрашиваете? Или что это за проблема, которую вы пытаетесь решить?

  • для службы (на стороне сервера): сохраняйте привязки, поведение, конечные точки службы и т. Д. В файле web.config (если он размещается в IIS) или в файле app.config узла службы (если служба NT или консольное приложение)

  • для клиента: сохраните вашу конфигурацию в app.config основного приложения, которое использует вашу библиотеку. Если вы хотите, вы можете предоставить готовые файлы "client.config" и "bindings.config", а затем просто добавить

    <system.serviceModel>
       <bindings configSource="bindings.config" />
       <client configSource="client.config" />
    </system.serviceModel>
    

в app.config вашего клиентского приложения - не намного легче, чем на самом деле!

0 голосов
/ 02 декабря 2009

Не знаю, правильно ли я подхожу к этому вопросу ...

Первый пункт совершенно произвольный, и звучит немного фашистски, или больше, если вы приехали из Великобритании. Многие различные типы библиотек поставляются с файлом конфигурации. Каким другим способом вы бы это сделали? Как бы это работало, если бы у вас не было настройки, на которой построена модель конфигурации .NET.

Люди должны перестать фокусироваться на любителях архитектуры, механике P & P и программистах-пуристах, которые часто придерживаются экстремальных взглядов, основанных на некоторых лучших или незначительных принципах проектирования, прежде всего, говоря, что вы должны это делать и делать.

С технической точки зрения, если вы хотите скрыть свой файл конфигурации, зашифруйте их. Если вы не хотите этого делать, но хотите, чтобы они были доступны авторизованным пользователям, используйте защищенное хранилище.

Bob.

...