我已经创建了wcf服务和客户端。 wcf服务和客户端都是使用c#实现的。我在 iis 和 windows 服务中托管了此 wcf 服务。当我托管它时,我需要在 web.config 文件或设计时指定基地址。是否可以在运行时指定基地址。如何在运行时提供它?
这样我可以在客户端更改服务引用地址吗?如何在 C# 中做到这一点?
最佳答案
如果您使用自托管,则可以在 ServiceHost
类的构造函数中指定基址:
Uri baseAddress = new Uri("http://........");
ServiceHost host = new ServiceHost(typeof(YourServiceClass), baseAddress);
使用 IIS,事情会变得有点棘手......您也许能够提供一个自定义工厂来创建您的服务主机 - 但这似乎是一项繁重的工作。此外,对于 IIS,*.svc
文件所在的虚拟目录实际上决定了服务的 URL - 因此提供基地址实际上没有多大值(value)。
关于c# - 在运行时动态添加wcf服务的基地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20344027/