我有一个托管的 WCF 服务,我为其创建了一个自定义工厂,以便它可以与多个主机标头一起使用:
/// <summary>
/// Required for hosting where multiple host headers are present
/// </summary>
public class MultipleHostServiceFactory : ServiceHostFactory
{
protected override ServiceHost CreateServiceHost(Type serviceType, Uri[] baseAddresses)
{
List<Uri> addresses = new List<Uri>();
addresses.Add(baseAddresses[0]);
return base.CreateServiceHost(serviceType, addresses.ToArray());
}
}
我很确定我的配置文件现在在客户端和服务器上都是正确的(可以在这里看到)。
我得到的错误似乎与工厂有关:
该工厂启用了手动寻址,因此所有发送的消息都必须预先寻址。
public string GetData(int value) {
return base.Channel.GetData(value);
}
错误发生在 line return base.Channel.GetData(value);
。