将端点添加到servicehost后可以修改吗?

时间:2010-11-13 23:57:45

标签: wcf endpoint servicehost

我试图弄清楚如何处理服务主机的端点并修改其身份。我在配置文件中定义了端点,但希望根据环境以编程方式修改端点(例如:QA,UAT,Prod)

服务托管在IIS6上,我使用servicehostfactory将我的扩展servicehost类提供给IIS。

我正在使用open事件来获取已经从配置文件定义的端点的句柄,但无法弄清楚如何修改它们的身份。这甚至可能吗?端点创建后是不可变的吗?

如果我无法修改端点,那么servicehost的“Opening”事件是添加服务端点的正确事件吗?

1 个答案:

答案 0 :(得分:2)

ServiceHosts在打开之前不是不可变的。您可以在调用AddServiceEndpoint后修改端点的描述。

当你说Opening事件时,你的意思是你已经将ServiceHost子类化并覆盖了OnOpening吗?如果是这样,这是添加端点的好地方。

或者,如果您使用自己的ServiceHostFactory,则可以在调用base.CreateServiceHost之后添加您的端点。