【问题标题】:Can I modify Endpoint after it is added to the servicehost?Endpoint添加到服务主机后可以修改吗?
【发布时间】:2010-11-13 23:57:45
【问题描述】:

我试图弄清楚如何获取服务主机端点的句柄并修改它们的身份。我在配置文件中定义了端点,但想根据环境以编程方式修改端点(例如:QA、UAT、Prod)

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

我正在使用打开事件来获取已从配置文件中定义但不知道如何修改其身份的端点的句柄。这甚至可能吗?端点在创建后是不可变的吗?

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

【问题讨论】:

    标签: wcf endpoint servicehost


    【解决方案1】:

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

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

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

    【讨论】:

    • 感谢杰夫的回复。在调用 base.CreateServiceHost 之后添加端点是个好主意。就我而言,我没有明确调用 AddServiceEndpoint。我在配置文件中有我的定义,在它们被 clr 定义后,我想根据环境修改它们的身份。我想对代码进行最小的更改,并且我希望所有其余的配置都由 clr 通过配置文件完成。这是可以做到的还是我必须通过编码来完全定义它们?
    猜你喜欢
    • 2013-10-31
    • 1970-01-01
    • 2015-01-16
    • 1970-01-01
    • 2020-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-24
    相关资源
    最近更新 更多