По сути, с помощью моих файлов конфигурации на стороне клиента я могу изменить имя сервера и порт, и они используются в качестве переопределений для последующих записей конечных точек и т. Д. (Где я выбираю сервер и порт в одном месте в файле конфигурации приложения). ). Я хочу реализовать это и на стороне сервера.
Я хочу добавить нижеприведенную конфигурацию в файл app.config сервера:
<bindingOverrides>
<override protocol="http" host="csharp.example.com" port="16000" />
<override protocol="net.tcp" host="csharp.example.com" port="16047" />
</bindingOverrides>
Это переопределит все привязки HTTP, чтобы быть csharp.example.com для порта 16000 , и все необработанные привязки TCP должны быть csharp.example.com на порту 16047 .
Если секция <bindingOverrides/>
отсутствует, ничто не переопределяется (т. Е. Необходимо вручную сконфигурировать конечные точки, как раньше ). Если имеется раздел <bindingOverrides/>
, но настройка для некоторого протокола отсутствует, этот протокол не имеет примененных переопределений (т. Е. Необходимо вручную настроить конечные точки, как раньше)
в настоящее время, когда я добавляю эта конфигурация в system.serviceModel
пространстве имен или за пределами system.serviceModel
, тогда моя служба отказалась запускаться с ошибкой Unrecognized configuration.
Есть ли способ добавить эту конфигурацию в system.serviceModel
пространство имен, если нет, то есть ли способ сохранить эти конфигурации за пределами system.serviceModel
?
или
Должен ли я создать класс, где эти конфигурации будут десериализованы, а затем я буду использовать его в app.config?
Кто-нибудь может дать мне пример создания класса с соответствующим конфигом и каким-либо другим способом преодоления этого?