c# - 在运行时动态添加wcf服务的基地址?

标签 c# wcf base-address

我已经创建了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/

相关文章:

c# - ASP.NET 核心 : ShortName in the Display attribute (DataAnnotations)

wcf - Tridion 2011 SP1 : Facing Issue while creating client application using Core Services

Flash 连接到 WCF 服务

c# - 从 IParameterInspector AfterCall 可以处理的 WCF Rest 服务返回带有消息的 HttpStatus 代码

c++ - 获取进程的基址

Raspberry Pi 4 上的 GPIO 寄存器基地址

c++ - 我正在尝试获取 osx 中加载的 dylib 的基址

c# - 使用结构数组的 Xml-RPC.Net 响应映射

c# - 将 JSON DateTime 值转换为零值的最佳方法(例如 "0000-00-00 00:00:00")

c# - 编码为 ASCII 和 UTF8 的字符串长度不同!