初始化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[]
中配置
答案 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
参数的参数。