找不到合适的ServiceHost构造函数

时间:2016-07-07 03:19:08

标签: c# wcf

初始化ServiceHost时,我在VS 2012中只能找到两个构造函数:ServiceHost(Object, Uri[])ServiceHost(Type, Uri[])。但我需要一个没有Uri[]的构造函数,因为我会在app.config中配置地址/绑定/契约。

我在Pro C#2010和.NET 4平台(第五版)中看到了一个演示

using (ServiceHost serviceHost = new ServiceHost(typeof(XXX)))
{

    serviceHost.Open();
    ......
}

但是我不能使用这个构造函数,因为msdn只提供了两个构造函数:

ServiceHost(Object, Uri[])
ServiceHost(Type, Uri[])

我认为最好在app.config中配置地址,而不是在构造函数中的Uri[]中配置

1 个答案:

答案 0 :(得分:2)

第二个参数(基本上)是可选的。如果您查看文档,您将注意到以下签名:

public ServiceHost(Type serviceType, params Uri[] baseAddresses)

请注意params参数前面的Uri[] baseAddresses关键字。 params允许您发送逗号分隔的列表或指定类型的参数数组,或者根本不发送任何参数。

所以ServiceHost serviceHost = new ServiceHost(typeof(XXX))只是调用ServiceHost(Type serviceType, params Uri[] baseAddresses)构造函数而没有baseAddresses参数的参数。