Могу ли я изменить конечную точку после того, как она добавлена ​​на сервисный хост? - PullRequest
0 голосов
/ 14 ноября 2010

Я пытаюсь выяснить, как получить дескриптор на конечных точках хоста службы и изменить их идентификационные данные.У меня есть конечные точки, определенные в файле конфигурации, но я хочу программно изменить конечные точки в зависимости от среды (например, QA, UAT, Prod)

Служба размещена на IIS6, и я использую servicehostfactory для предоставления своего расширенного узлакласс для IIS.

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

Если я не могу изменить конечные точки, то является ли событие «Открытие» служебного узла правильным, чтобы добавить конечную точку службы?

1 Ответ

2 голосов
/ 14 ноября 2010

ServiceHosts не являются неизменяемыми, пока они не открыты. Вы можете изменить описание конечной точки после вызова AddServiceEndpoint.

Когда вы говорите «Событие открытия», вы имеете в виду, что у вас есть подкласс ServiceHost и переопределяете OnOpening? Если так, то это прекрасное место для добавления конечных точек.

В качестве альтернативы, если вы используете свою собственную ServiceHostFactory, вы можете просто добавить свои конечные точки после вызова base.CreateServiceHost.

...