我试图弄清楚如何处理服务主机的端点并修改其身份。我在配置文件中定义了端点,但希望根据环境以编程方式修改端点(例如:QA,UAT,Prod)
服务托管在IIS6上,我使用servicehostfactory将我的扩展servicehost类提供给IIS。
我正在使用open事件来获取已经从配置文件定义的端点的句柄,但无法弄清楚如何修改它们的身份。这甚至可能吗?端点创建后是不可变的吗?
如果我无法修改端点,那么servicehost的“Opening”事件是添加服务端点的正确事件吗?
答案 0 :(得分:2)
ServiceHosts在打开之前不是不可变的。您可以在调用AddServiceEndpoint后修改端点的描述。
当你说Opening事件时,你的意思是你已经将ServiceHost子类化并覆盖了OnOpening吗?如果是这样,这是添加端点的好地方。
或者,如果您使用自己的ServiceHostFactory,则可以在调用base.CreateServiceHost之后添加您的端点。