【问题标题】:dynamically add the base address of wcf service at run time?在运行时动态添加 wcf 服务的基地址?
【发布时间】:2013-12-03 06:05:12
【问题描述】:

我已经创建了 wcf 服务和客户端。 wcf 服务和客户端都是使用 c# 实现的。我已经在 iis 和 windows 服务中托管了这个 wcf 服务。当我托管它时,我需要在 web.config 文件或设计时指定基地址。是否可以在运行时指定基地址。如何在运行时提供它?

这样我可以在客户端更改服务引用地址。如何在 c# 中做到这一点?

【问题讨论】:

  • 你为什么要这样做?

标签: c# wcf base-address


【解决方案1】:

如果您使用自托管,那么您可以在ServiceHost 类的构造函数中指定基地址:

Uri baseAddress = new Uri("http://........");
ServiceHost host = new ServiceHost(typeof(YourServiceClass), baseAddress);

使用 IIS,事情变得有点棘手......您也许可以提供一个自定义工厂来创建您的服务主机 - 但这似乎需要大量工作。此外,在 IIS 中,*.svc 文件所在的虚拟目录确实决定了服务的 URL - 因此提供基地址确实没有多大价值。

【讨论】:

    猜你喜欢
    • 2012-01-28
    • 2013-09-14
    • 1970-01-01
    • 1970-01-01
    • 2011-01-02
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    相关资源
    最近更新 更多